Mário Miranda Postado Março 8, 2007 Denunciar Share Postado Março 8, 2007 (editado) Boa tarde pessoal.Tenho um script que faz um select trazendo uma informação de uma tabela cujo campo é do tipo decimal.Neste script preciso comparar um valor mandado por um form com o resultado que eu pego do campo no select que eu fiz.É sabido que a variável que eu carrego do form é do tipo caracter.Faço o seguinte:if( is_numeric($variavel_do _form) == $info_do_select){comandos;}else{não executa comandos}Mesmo colocando a função is_numeric para a primeira variável, o if sempre entende que meus numeros são iguais mesmo quando diferentes.Como faço para ter sucesso nessa comparação?Desde já, agradeço. Editado Março 8, 2007 por Mário Miranda Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 8, 2007 Denunciar Share Postado Março 8, 2007 is_numeric não transforma string para número, apenas diz se na string tem número ou se tem letra (retorna verdadeiro ou falso)... coloque o (INT) va frente da string para ela ser interpretada como um número...if( (INT)$variavel_do _form == $info_do_select){// Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mário Miranda Postado Março 8, 2007 Autor Denunciar Share Postado Março 8, 2007 Ola ESerra!Sua dica me ajudou, mas tem mais um problema:O INT só compara números antes de " . ".Por exemplo:206.26 e 206.27 no meu if ainda são iguais, por outro lado, 207.26 e 206.26 são diferentes.Usando substring neste caso funcionaria, porem se é um com 02 casas antes da virgula, a substring teria que mudar.Pra resumir, o INT só serve para número inteiro.Tem alguma outra coisa que eu possa fazer?até + Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 8, 2007 Denunciar Share Postado Março 8, 2007 Não sabia que seu número não era inteiro... nesse caso use (FLOAT) que é para número de ponto flutuante... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mário Miranda Postado Março 9, 2007 Autor Denunciar Share Postado Março 9, 2007 valeu ESerra!Deu certo agora.T+ Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Mário Miranda
Boa tarde pessoal.
Tenho um script que faz um select trazendo uma informação de uma tabela cujo campo é do tipo decimal.
Neste script preciso comparar um valor mandado por um form com o resultado que eu pego do campo no select que eu fiz.
É sabido que a variável que eu carrego do form é do tipo caracter.
Faço o seguinte:
if( is_numeric($variavel_do _form) == $info_do_select){
comandos;
}else{
não executa comandos
}
Mesmo colocando a função is_numeric para a primeira variável, o if sempre entende que meus numeros são iguais mesmo quando diferentes.
Como faço para ter sucesso nessa comparação?
Desde já, agradeço.
Editado por Mário MirandaLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.