Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
fiz uma conversão de int para float e tive uma surpresa:
$value = 34.98;
echo $value;
echo " - ";
$value = intval($value * 100);
echo $value;
Imprime: 34.98 - 3497
Inves de '34.98 - 3498', como esperado.
Li os materias do php.net que relatam os problemas de precisão com operações de ponto flutuante.
Porém nã encontrei nenhum relato de erros na conversão de float para inteiro.
/************************************************************************************************/
A solução que encontrei para este problema foi:
$value = 34.98;
echo $value;
echo " - ";
**strval**($value * 100);
echo $value;
Desta forma possui utilizar a variável $value em outras operações matemáticas como inteiro, utilizando a conversão automática do php.
Carregando comentários...