脚本宝典收集整理的这篇文章主要介绍了PHP 处理金额,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
导语
涉及到金额的代码,一定要谨慎处理。刚好最近做了相关的功能,下面大概说一下。
存储
PHP 的浮点数是不能精确计算的,具体的可以看这篇文章。所幸的是,金额一般不会有太多的小数。那么存储的时候呢,一言以蔽之,以 分 为单位进行存储。在 MySQL 中,以 int
类型存储就行了(视情况选择字段类型)。
计算
上面提到以 分 为单位存储,也就是 1 元存储为 100 分。可以使用 PHP 内置的 BC Math 系列函数进行计算。日后会再写一篇详解。
格式化金额
下面是格式化金额的实例
/**
* 格式化金额
* @param $PRice
* @return string
*/
public function formatPrice($price)
{
if (!is_numeric($price)) {
$price = 0;
}
return number_format(bcdiv($price, 100, 2), 2);
}
参考资料: 关于PHP浮点数你应该知道的(All ‘bogus’ about the float in PHP)、PHP浮点数的一个常见问题的解答、BC Math。
以上是脚本宝典为你收集整理的PHP 处理金额全部内容,希望文章能够帮你解决PHP 处理金额所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。