gpt4 book ai didi

PHP money 字符串转换为整数错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:58:48 26 4
gpt4 key购买 nike

我有一个小型财务应用程序,前端是 PHP,后端是 MySQL。我有古老的偏见,我在 MySQL 中将货币值存储为整数美分。我的 HTML 表单允许输入美元值,例如“156.64”,我使用 PHP 将其转换为美分,然后将美分存储在数据库中。

我有一个函数可以从表单中清除美元值,并将其转换为美分。我去除前导文本,去除尾随文本,乘以 100 并转换为整数。最后一步是

$cents = (integer) ($dollars * 100);

这几乎适用于所有情况,除了极少数值,如“156.64”,它始终转换为 15663 美分。为什么要这样做?

如果我这样做:

$cents = (integer) ($dollars * 100 + 0.5);

然后它始终如一地工作。为什么我需要添加该舍入值?

此外,我对将金额存储为整数而不是浮点值的偏见是否不再需要?现代流通量计算是否会产生足以保持 100% 准确会计的完美四舍五入和准确的货币值(value)?

最佳答案

如果你想要精确,你应该使用 DECIMAL 存储你的货币值MySQL 中的数据类型。

关于PHP money 字符串转换为整数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/193593/

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