avatar

不觉南风

不觉南风的个人博客

  • 首页
  • 文章
  • 标签
  • 项目&效果展示
  • 关于
Home 前端Number类型数据值过大导致精度问题丢失问题
文章

前端Number类型数据值过大导致精度问题丢失问题

Posted 2022-09-18 Updated 2024-02- 18
By 不觉南风
2~3 min read

在开发中,后端返回是一个JSON字符串,其中自动生成的id为Number类型,当我进行JSON.parse进行对象转换时,id的精度丢失了,后几位变为了0

 let str = '{"subjectId":1598203100220235777}'
 console.log(JSON.parse(str))
 // 结果 {"subjectId":1598203100220235800}

解决方案

  1. 可让后端将JSON中的id转为字符串返回
  2. 前端自行转换为字符串
    let str = '{"subjectId":1598203100220235777}'
    str = str.replace(/:s*([0-9]{15,})s*(,?)/g, ': "$1" $2')
    console.log(JSON.parse(str))
    // 结果 {"subjectId":"1598203100220235777"}
    
编程随记
问题记录
License:  CC BY 4.0
Share

Further Reading

Mar 21, 2024

vue项目中利用scss进行全局字体放大

新公司需要上架浙里办政府服务网的PC端,在审核的时候被老龄化适配打回来了。需要做全局的字体放大,在网上查了一些博客,最后结合自

Mar 9, 2024

AMD规范

什么是AMD规范 AMD(Asynchronous Module Definition),也就是异步模块定义。AMD规范,制定了定义模块的规则,使得模块之间的依赖可以被异步加载。这和浏览器的异步加载模块的环境刚好适应(浏览器同步加载模块会导致性能、可用性、调试和跨域访问等问题)。 所谓异步,就是所有

Mar 9, 2024

http缓存机制

缓存的基本原理 在一个C/S结构中,最基本的缓存分为两种: 客户端缓存 服务器缓存 本文仅讨论客户端缓存

OLDER

vscode官网下载很慢甚至直接下载失败

NEWER

对vue虚拟dom的理解

Recently Updated

  • vue项目中利用scss进行全局字体放大
  • AMD规范
  • http缓存机制
  • git提交报错 husky - commit-msg hook exited with code 1 (error)
  • for...in 和 for...of有什么区别?

Trending Tags

电脑常见问题 nodejs vuejs webpack 网络 问题记录 javaScript基础 小程序 常用插件 数据库

Contents

©2025 不觉南风. Some rights reserved.

Using the Halo theme Chirpy