gpt4 book ai didi

PHP 添加 2 个小数点数字(金钱)会给出错误的总金额结果

转载 作者:可可西里 更新时间:2023-11-01 13:39:13 24 4
gpt4 key购买 nike

我的 MySQL 数据库中有一个客户发票表,其中包含一个名为 price 的 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

}

echo $totalAmount; 它在最终金额 0.01 中有一个小错误,但是当处理大约 20,000 的大型数据集时,这个错误变得非常可观,例如 200+

在 PHP 中处理价格等这些数字时,最安全的方法是什么?或者我最终会遇到潜在的舍入错误以及处理 float 据类型时常见的类似问题吗?

正在使用

round 
number_format

是最适合此类财务应用程序的解决方案吗?

最佳答案

的确, float 是不精确的。
以分计算(乘以 100 并以整数计算),或使用 BC Math 以字符串计算.

关于PHP 添加 2 个小数点数字(金钱)会给出错误的总金额结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11114861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com