gpt4 book ai didi

php - 在 PHP 中舍入和格式化货币

转载 作者:行者123 更新时间:2023-12-05 03:14:11 25 4
gpt4 key购买 nike

我正在编写一个处理计算美元金额的脚本,我想知道什么是正确的或建议的方法。

我处理的是美元和美分,而不是小数美分。我看过帖子such as this这给出了需要几分之一美分的场景,例如股票。我认为我不需要那么精确,但在我放弃它之前我想听听一些建议。

假设我以 9.99 美元的价格出售一件商品,含 6.5% 的税。

$item_cost = 9.99;
$tax_percent = 0.0650; //6.5%
$tax = $item_cost * $tax_percent;
//tax is 0.38935
$total = $item_cost + $tax;
//total is 6.37935

我不能向用户收取 6.37935 美元。我只是在处理美元和美分。示例继续...

$total = 4.401433
$rounded_total = round($total,2);
echo $rounded_total;
//rounded total is 4.4

虽然我知道 4.4 美元与 4.40 美元相同,但我无法通过我的支付处理器运行它。先舍入到小数点后 2 位,然后再将数字格式应用到小数点后 2 位是否“安全”?

$total = 4.401433
$rounded_total = round($total,2);
$formatted_total = number_format($rounded_total,2,'.','');
echo $formatted_total;
//rounded and formatted total is 4.40

通过先四舍五入到小数点后两位,然后使用数字格式来确保四舍五入的数字确实是小数点后两位来确定应付金额是否“可接受”?

最佳答案

不要使用 number_format 来确定小数位。而是先将其舍入。Round 是一个数学函数,与业务运作方式密切相关。例如,如果您有一条业务规则说明小数点后 2 位的内容将被舍弃,则首先将其四舍五入为小数点后 2 位。数字格式仅用于显示目的。例如添加逗号,并在需要时添加前导 0。实际存图时一定要根据业务需要四舍五入后存入DB(作为最终图)

关于php - 在 PHP 中舍入和格式化货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26333435/

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