json引发的浮点数入舍失效问题

tech2023-05-23  104

背景

两个浮点型数字做运算时,可能会会出现下面的情况 39.9-10 = 29.99999999999981 并且使用round保留指定位数后api对外无效

 

原因

json问题引发,据说php7以上就好用

 

解决

php7之下版本的那就用下面这个方式吧,也能实现想要的效果

$frequent_price = strpos($frequent_price,'.') !== FALSE ? rtrim(rtrim(sprintf("%01.2f", $frequent_price),"0"),'.') : round($frequent_price);

最新回复(0)