我的 MySQL 数据库中有一个客户发票表,其中有一个名为“价格”的 DECIMAL(10,2) 字段。
当在 php 中获取这些值并计算总金额时,
例如:在脚本中
$totalAmount = 0; // initialised them to
while(records){
$amount = $inv_amount - ($pay_amount + $onamount); //float i guess. 2.22, 14.22
$totalAmount = $totalAmount + $amount; //float i guess. 2.22, 14.22 ..etc
}
when echo $totalAmount;
最终数量有 0.01 的轻微误差,但是在处理 20,000 左右的大型数据集时,此误差变得非常大,例如 200+
在处理价格等 PHP 中的这些数字时,最安全的方法是什么?或者我最终会遇到潜在的舍入错误以及类似在使用浮点数据类型时常见的问题吗?
正在使用
round
number_format
最适合此类金融应用程序的解决方案是什么?
事实上,浮点数并不精确。
以分计算(乘以 100 并以整数计算),或使用字符串计算BC Math.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)