js17位及以上Number类型数值精度丢失问题
问题 number 类型 丢失 数值 精度 以上
2023-06-13 09:15:25 时间
请求后端时,一个17位的id出现最后一位总是少一的问题
var text = '{"id":18014398509481985}';
var obj = JSON.parse(text);
console.log(obj);
//结果: {id: 18014398509481984}
解决办法:
- 后端将ID处理成字符串的形式
- 前端通过正则,处理返回的响应数据,转换成字符串
var text = '{"id":18014398509481985}';
const id= text.match(/\d{17,}/)[0]; // 正则获取大于17位数字的值
text = text.replace(id,`"${id}"`); // 补上双引号
const data = JSON.parse(text);
//结果: {id: "18014398509481985"}
相关文章
- SAP QM QS21创建检验特性,报错- Number range interval 01 for number range object QMERKMALE
- MySQL Error number: MY-010894; Symbol: ER_NDB_NUMBER_OF_CHANNELS; SQLSTATE: HY000 报错 故障修复 远程处理
- ORA-14293: Number of partitioning columns does not match number of subpartitioning columns ORACLE 报错 故障修复 远程处理
- 解决Linux服务器配置问题的有效方法(linuxhost修改)
- 解决Oracle数据库重新导入问题(oracle重新导入数据)
- 轻松解决Redis缓存清除问题——Redis清缓存教程(redis清缓存)
- 解决Oracle主从表不匹配的问题(oracle 主表不存在)
- 解决Redis中的过期键问题(redis过期键怎么用)
- 解决163/sohu/sina不能够收到PHPMAIL函数发出邮件的问题
- 一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
- 一次SQL调优数据库性能问题后的过程(300W)
- oracle报错(ORA-00600)问题处理