问题原因

   今天上课给学生做一vue效果,需要获取到传入数字的长度,第一想法,把数字正常转化为字符串获取长度,初次测试(数字比较少)效果实现,代码可行

这个是效果图,根据传入的数字位数用于vue的v-for循环,晚上测试时,发现超过16为之后,后面数字无法正常解析,严重影响到后面数据展示效果

数字为:9998364573486574999999

效果展示为

原因分析

   一开始以为是vue的渲染问题,后来经过理论推翻这个想法,将数字9998364573486574999999,直接toSting输出发现得到的结果为

然后再百度搜索toSting的问题,得知:javascript无法处理超过16位的数字数据

测试展示

解决方法

目前最好的解决方法就是把数字声明成字符串的形式,或者后台直接返回字符串的形式

例如

    {type:0,id:9998364573486574999999}

换为

    {type:0,id:‘9998364573486574999999’}

    

Logo

前往低代码交流专区

更多推荐