使用number_format遇到的坑

最近遇到一个问题,就是计算两个数之和,保留两位小数,这个没啥说的,直接用number_format函数即可。在这个过程中,遇到一个问题:有个用户当前的收益是880,加上最新收益156后,结果变成了1,如下所示:

使用number_format函数的方式为:

number_format(($balance_money + $plus_money), 2);

计算得到的结果保留到数据表中,然后在列表中显示出来。刚看这个地方的计算时,没觉得有啥问题。但是把这个计算结果打印出来,就意识到问题的所在了。

计算的结果用逗号分隔了,逗号后面的数据被截断了,只有1保留到数据表中了。查看对应的数据表,果然,对应列的值是1。解决的办法也很简单:

number_format(($balance_money + $plus_money), 2, '.','');

增加的两个标志位对应的含义分别是:指定小数点显示的字符以及千位分隔符,这个我把千位分隔符设置为空就解决了这个问题。

number_format函数对应解释:

Sea Bridge

古之立大志者,不惟有超世之才 亦必有坚韧不拔之志!

发表评论