javascript如何处理位数大于16位的整数
问题原因今天上课给学生做一vue效果,需要获取到传入数字的长度,第一想法,把数字正常转化为字符串获取长度,初次测试(数字比较少)效果实现,代码可行这个是效果图,根据传入的数字位数用于vue的v-for循环,晚上测试时,发现超过16为之后,后面数字无法正常解析,严重影响到后面数据展示效果数字为:9998364573486574999999效果展示为原因分析...
·
问题原因
今天上课给学生做一vue效果,需要获取到传入数字的长度,第一想法,把数字正常转化为字符串获取长度,初次测试(数字比较少)效果实现,代码可行
这个是效果图,根据传入的数字位数用于vue的v-for循环,晚上测试时,发现超过16为之后,后面数字无法正常解析,严重影响到后面数据展示效果
数字为:9998364573486574999999
效果展示为
原因分析
一开始以为是vue的渲染问题,后来经过理论推翻这个想法,将数字9998364573486574999999,直接toSting输出发现得到的结果为
然后再百度搜索toSting的问题,得知:javascript无法处理超过16位的数字数据
测试展示
解决方法
目前最好的解决方法就是把数字声明成字符串的形式,或者后台直接返回字符串的形式
例如
{type:0,id:9998364573486574999999}
换为
{type:0,id:‘9998364573486574999999’}
更多推荐
已为社区贡献3条内容
所有评论(0)