Just wondering in php, if it was possible to convert a string to a double. I 开发者_如何学编程am using a financial web service which provides a price as a string. I really need to process this as a double and was wondering how i would convert it
thanks
Just use floatval()
.
E.g.:
$var = '122.34343';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 122.34343
And in case you wonder doubleval()
is just an alias for floatval()
.
And as the other say, in a financial application, float values are critical as these are not precise enough. E.g. adding two floats could result in something like 12.30000000001
and this error could propagate.
For arbitrary precision mathematics PHP offers the Binary Calculator which supports numbers of any size and precision, represented as strings.
$s = '1234.13';
$double = bcadd($s,'0',2);
PHP: bcadd
Use doubleval()
. But be very careful about using decimals in financial transactions, and validate that user input very carefully.
Why is floatval the best option for financial comparison data? bc functions only accurately turn strings into real numbers.
精彩评论