数字太长时为啥变成科学计数法

PHP编程者 2011-02-16 04:57:54
数字值是从库中取出来的,因为值有点大(50个数字),取出后立马被科学计数了,怎么避免这个问题?
...全文
834 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloyou0 2011-02-18
  • 打赏
  • 举报
回复
嗯, 估计你这个max(model_id+0) 有时候会不准确...

非要用这个做的话, 可以
select model_id from ***
order by max(model_id+0) desc
limit 1 ;

根据你的model_id的情况, 或者这个也可以
select model_id from ***
order by length(model_id) desc, model_id desc
limit 1;
PHP编程者 2011-02-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 helloyou0 的回复:]

引用 4 楼 helloqhq 的回复:

引用 3 楼 zjerryj 的回复:
50个数字,的确够大。
存储的话你可以用字符串,因为MYSQL没有能够处理50位数字的数据类型。
PHP中自然也没有那么高精度的数据类型,你可以使用gmp系列函数或BC Math系列函数来处理。
关键是怎么将可学计数法的形式转为正常数字输出


先说你在数据库里是用什么类型字段记录的?
如何……
[/Quote]数据库中是varchar类型,存入时是字符串,取出时要将其转成数字类型(因为要取得最大值),我用这种形式select,在库中就已经变成科学计数法了:
SELECT max(model_id+0) FROM ***
helloyou0 2011-02-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 helloqhq 的回复:]

引用 3 楼 zjerryj 的回复:
50个数字,的确够大。
存储的话你可以用字符串,因为MYSQL没有能够处理50位数字的数据类型。
PHP中自然也没有那么高精度的数据类型,你可以使用gmp系列函数或BC Math系列函数来处理。
关键是怎么将可学计数法的形式转为正常数字输出
[/Quote]

先说你在数据库里是用什么类型字段记录的?
如何存入及取出的?
PHP编程者 2011-02-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zjerryj 的回复:]
50个数字,的确够大。
存储的话你可以用字符串,因为MYSQL没有能够处理50位数字的数据类型。
PHP中自然也没有那么高精度的数据类型,你可以使用gmp系列函数或BC Math系列函数来处理。
[/Quote]关键是怎么将可学计数法的形式转为正常数字输出
张吉Jerry 2011-02-16
  • 打赏
  • 举报
回复
50个数字,的确够大。
存储的话你可以用字符串,因为MYSQL没有能够处理50位数字的数据类型。
PHP中自然也没有那么高精度的数据类型,你可以使用gmp系列函数BC Math系列函数来处理。
PHP编程者 2011-02-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xsxs89757 的回复:]
string=number_format(int) //格式化数字
然后string=implode(',',string);//转化成数组
string=explode('',string); //从数组再组合成字符串
[/Quote]操作失败
xsxs89757 2011-02-16
  • 打赏
  • 举报
回复
string=number_format(int) //格式化数字
然后string=implode(',',string);//转化成数组
string=explode('',string); //从数组再组合成字符串

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧