码迷,mamicode.com
首页 > 其他好文 > 详细

避免大整数科学计数法

时间:2019-03-21 14:29:05      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:col   row   lock   order   evel   手册   false   pes   就是   

php 是没有bigint的,超过一定长度其实是当做float类型处理的。在表示的时候,会使用科学计数法。

演示code

在客户端执行:

php -r "echo 20123456789123456789;"

输出:
2.0123456789123E+19

那么怎么避免这种情况呢?用number_format().

php -r "echo number_format(20123456789123456789,0,‘.‘,‘‘);"

输出:
20123456789123457024
很明显最后2位不对。

如前面说的,int超过长度,已经益处,此时数据已经部分残缺了。没有解决办法。处理方式就是表创建该字段不应该用数字,而应该用字符串。

参考资料

  1. 手册-类型
  2. PHP怎么将超长数值转换为字符串?

避免大整数科学计数法

标签:col   row   lock   order   evel   手册   false   pes   就是   

原文地址:https://www.cnblogs.com/gelu/p/10571370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!