I have this PHP code:
<?php
$float = "1,99";
echo "<p>$float<br>";
$float = floatval($float); // Without this line number_format throws a notice "A non well formed numeric value encountered" / (float) $float leads to the same output
$val = number_format($float, 2,'.', ',');
echo "$float</p>";
?>
Why does it return 1? Don’t get that.
And: yes, there is a sense in converting 1,99 to 1,99 😉
Thanks for advise…
floatval recognizes the comma (,) as a character and not as a number, so it cuts off everything that comes after it. In this case, that’s the 99. Please use a dot (.) instead of a comma (,) and it will probably work.
Example floatval (source: http://php.net/manual/en/function.floatval.php):