当前位置: 首页 > 后端技术 > PHP

PHP处理金额

时间:2023-03-29 18:49:55 PHP

介绍涉及金额的代码一定要慎重处理。最近刚做了一个相关的功能,下面简单说一下。PHP中存储的浮点数无法准确计算。详情请参考这篇文章。幸运的是,金额通常没有太多小数点。所以存储的时候,一句话,以分钟为单位存储。在MySQL中,以int类型存储即可(根据情况选择字段类型)。上面所说的计算是以积分为单位存储的,即1元存储为100积分。可以使用PHP的内置BCMath系列函数进行计算。以后我会再写一篇详细的解释。格式化金额以下是格式化金额示例/***格式化金额*@param$price*@returnstring*/publicfunctionformatPrice($price){if(!is_numeric($price)){$price=0;}返回number_format(bcdiv($price,100,2),2);}参考资料:WhatyoushouldknowaboutPHPfloatingpointnumbers(All'bogus'aboutthefloatinPHP),PHP浮点数常见问题解答,BCMath。