导语
涉及到金额的代码,一定要谨慎处理。刚好最近做了相关的功能,下面大概说一下。
存储
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 如何处理金额的详细内容,更多请关注亿速云其它相关文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。