将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准确地转换为实数。