将string转换为双精度 – 这可能吗?

只是想知道在PHP中,如果有可能将string转换为双精度。 我正在使用提供价格作为string的金融Web服务。 我真的需要处理这是一个双,并想知道我将如何转换它

谢谢

只需使用floatval()

例如:

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

如果你想知道doubleval()只是doubleval()的别名。

另一方面,在金融应用中,浮动值是非常重要的,因为这些值不够精确。 例如添加两个浮点数可能会导致类似12.30000000001这个错误可能传播。

对于任意精度的math,PHP提供二进制计算器,它支持任意大小和精度的数字,以string表示。

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

PHP:bcadd

使用doubleval() 。 但在金融交易中小心使用小数,并非常小心地validation用户input。

为什么floatval是财务比较数据的最佳select? bc函数只能将string准确地转换为实数。