Loading... # 前言 > tips:如果本文对你有用,请爱心点个赞,提高排名,让这篇文章帮助更多的人。谢谢大家!比心❤~ > 如果解决不了,可以在文末加我微信,进群交流。 > 在工作中有个金额数值累加的需求,正常的循环进行计算的时候,发现值总是为1.具体代码如下: `错误代码` ```php <?php $total_amount = 0; foreach ($list as &$item){ $item['num'] = $item['num']; $item['jd_price'] = number_format($item['jd_price'],2); $item['total_price'] = number_format($item['num'] * $item['jd_price'],2); var_dump($item['total_price']); // echo string(8) "1,365.15" var_dump($total_amount); // echo int(0) $total_amount += $item['total_price']; var_dump($total_amount); // echo int(1),此处期望值为 1,365.15 } ``` `解决方案` 使用number_format()的时候需要规避这样的错误,需要对千分位的符号进行规定,也就是传入第4个参数。 ```php $total_amount = 0; if(!empty($list)){ foreach ($list as &$item){ $item['num'] = $item['num']; $item['jd_price'] = number_format($item['jd_price'],2); $item['total_price'] = number_format($item['num'] * $item['jd_price'],2,'.',''); var_dump($item['total_price']); // string(8) "1,365.15" var_dump($total_amount); // int(0) $total_amount += $item['total_price']; var_dump($total_amount); // float(1365.15) } } ``` > 有问题请添加个人微信:【mengyilingjian】,进群一起技术讨论。添加时请备注来意,谢谢! > ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020050711033476.png) > ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200507110324549.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjY2MTMyMQ==,size_16,color_FFFFFF,t_70) 最后修改:2023 年 04 月 24 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 感谢赏赐的coffee~