js处理后端返回超过16位大数字方案

这个问题与这篇博客讲的问题类似。(https://blog.csdn.net/StoneVivi/article/details/105210934)。这里就不具体说明了,内容如题

背景: 后端返回了一个19位的数据,超过了16位,前端拿到的数据,自动把超出部分转成0了后输出的,导致前端console.log看到的数据,超出部分都是0,与后端实际返回不一致。

     1561020000000534036   --> 1561020000000534000

JavaScript中的基本数据类Number是双精度浮点数,它可以表示的最大安全范围是正负9007199254740991,也就是2的53次方减一, 任何超出安全范围的数字都可能会失去精度。

解决方案:

1.将接收的数据转化为文本
2.通过正则匹配出数字内容,转换为字符串
3.JSON.parse

在axios中处理:

.then( res => {# 发现接收的res已经被js转换过了,并不可行// do somethingreturn res.data
})

由于接收到的res已经被转换过了,考虑将接收的状态改为text并未收到我们理想的效果。得到的依然是对象。查看了下transformResponse属性。Axios文档解释

transformResponse 在传递给 then/catch 前,允许修改响应数据transformResponse: [function (data) {# 对 data 进行任意转换处理return data;}],

完美的解决了数字位数大的问题。

transformResponse: [ config => JSON.parse(config.replace(/(?<=someNo":)(\d{0,})/g,'"$1"')) ]

以上方法虽能解决问题,但是并不推荐。比如遇到复杂的正则等。当然这类问题最好从服务端解决。

js处理后端返回超过16位大数字方案相关推荐

  1. java 随机16位随机数字_随机生成防猜不重复的16位纯数字序列号【快速且高性能】...

    16位纯数字,组合起来是多少个呢?很难一口说出准确数字. 2位纯数字,组合起来是多少个呢? 10*10 = 100个 3位纯数字,组合起来是多少个呢? 10*10*10 = 1000个 因为每个数字都 ...

  2. 16位的数字高字节和低字节_显示8位数字的较低和较高半字节的掩蔽| 8086微处理器...

    16位的数字高字节和低字节 Problem: To show masking of lower and higher nibbles of 8-bit number using 8086 Microp ...

  3. 16位的数字高字节和低字节_掩盖8位数字的较低和较高半字节| 8085微处理器

    16位的数字高字节和低字节 Problem statement: 问题陈述: To mask lower and higher nibble of 8-bit number using 8085 Mi ...

  4. 16位的数字高字节和低字节_显示掩盖较低和较高的16位数字半字节| 8086微处理器...

    16位的数字高字节和低字节 Problem: To show masking of lower and higher nibbles of 16bit number using 8086 Microp ...

  5. 科学数字_Excel分列时拒绝让超过15位的数字变成科学计数法

    分列时让超过15位的数字不变成科学计数法 Excel情报局 生产搬运分享Excel基础技能 Excel知识青年 用1%的Excel基础搞定99%的日常工作 做一个有文艺范的Excel公众号 Excel ...

  6. Excel分列时拒绝让超过15位的数字变成科学计数法

    Excel分列时拒绝让超过15位的数字变成科学计数法 大家有没有遇到这种情况: 对一些含有15位数字以上的内容的单元格进行分列时,分列后会形成科学计数法的错误格式. 如下图所示,选中A1单元格,点击数 ...

  7. js大数字类型(超过16位)失真问题

    bug经过:点击修改无法展示信息(修改时调用queryOne,以id(long)为值,页面传过去的id=1480042498255640-00 ,在数据库中该id=148004249825564012 ...

  8. 数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。

    加法伺候 //超过20位数值相加---------------------------------------- function bigNumAdd(a, b) {if (!(typeof a == ...

  9. 迅雷插件导致js获取后端返回结果报错问题

    最近在调试公司一个项目,其中使用了js,在登录该系统时,页面不能正常跳转.但是我使用别的浏览器(调试使用的是谷歌浏览器)能够正常跳转.这就很奇怪,使用页面调试工具,获取到后端的返回结果如下图: < ...

最新文章

  1. python如何定义一个简单的队列
  2. Centos6.5搭建bugzilla
  3. 7-68 阶乘计算 (15 分)
  4. java 数组下标6,这里为什么用equals会错,改==就不会?java入门第一集6.8获取数组下标课后练习...
  5. javascript解析机制——预解析
  6. 如何提高Android系统Aututu benchmark跑分
  7. 解决allwinner bootlogo.bmg 开机logo 修改 后变绿
  8. 数学建模——主成分分析及spss软件操作
  9. Filezilla Server使用教程
  10. [excel]解决Excel和txt转换出现的“问题
  11. Python3制作网易云音乐下载器!付费的你猜能下载吗!
  12. 关于netty的IllegalReferenceCountException refCnt: 0, decrement: 1
  13. 『杭电1900』Gangs
  14. Machine Learning - A/B Test
  15. python模拟登录12306_python模拟登录12306缺少cookies
  16. 下载文件,文件为中文名出现乱码的解决办法
  17. [转载]强大的文件上传插件
  18. 2022蓝牙耳机大盘点测评,2022年最新蓝牙耳机排行榜
  19. 正版Xshell+Xftp免费使用,你还在找破解版吗
  20. nginx实现对websocket加密协议wss协议的反向代理以及websocket整合springboot入门(踩坑)

热门文章

  1. 开源电商系统源码|前后端分离|uni-app开发
  2. CoffeeScript快速入门
  3. rtx自建服务器,腾讯通RTX服务器端如何安装和配置
  4. 鸿蒙宴中的人物故事,鸿门宴的主要人物有哪些
  5. 一台计算机英语美式发音,美式音标在线学习(Flash动画+真人发音口型)
  6. BSCI认证咨询 BSCI行为准则主要包含如下几个主要方面
  7. 考研小助手 Mathematica 麦酱教你算不定积分 wolfram alpha
  8. java幸运抽奖代码实验结论_java-第四章-实现幸运抽奖功能
  9. Vuex入门(1)—— Vuex的设计初衷和简单使用
  10. 政策频繁出台,智能网联汽车安全如何“驾驭”?