将字符串转换为double - 这可能吗?

时间:2010-03-29 17:50:21

标签: php

只是想知道在php中,是否可以将字符串转换为double。我正在使用金融网络服务,它提供价格作为字符串。我真的需要将其作为双重处理,并且想知道我将如何转换它

感谢

4 个答案:

答案 0 :(得分:103)

只需使用floatval()

E.g:

$var = '122.34343';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 122.34343

如果您怀疑doubleval()只是floatval()的别名。

正如另一方所说,在金融应用中,浮动值是至关重要的,因为这些不够精确。例如。添加两个浮点数可能会导致12.30000000001之类的内容,并且此错误可能会传播。

答案 1 :(得分:16)

对于任意精度数学,PHP提供了二进制计算器,它支持任何大小和精度的数字,表示为字符串。

$s = '1234.13';
$double = bcadd($s,'0',2);

PHP: bcadd

答案 2 :(得分:4)

使用doubleval()。但是要非常小心在金融交易中使用小数,并仔细验证用户输入非常

答案 3 :(得分:0)

为什么floatval是财务比较数据的最佳选择? bc函数只能准确地将字符串转换为实数。