PHP 7. * 版本float 精度问题

PHP 5.6.25

//float type
$money = 223.1;

//echo
d:233.1  //serialize
233.1  //json_encode
233.1  //未处理

PHP 7.0.*



d:233.09999999999999; //serialize
233.1  //json_encode
233.1 //未处理

修改PHP默认配置项: php.ini默认配置项


; When floats & doubles are serialized store serialize_precision significant
; digits after the floating point. The default value ensures that when floats
; are decoded with unserialize, the data will remain the same.
serialize_precision = 17
改为小于 17 

结果

d:233.1;  //serialize
233.1  //json_encode
233.1  //未处理

 

转载于:https://my.oschina.net/u/4031296/blog/2995587

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值