当前位置: 首页 > wzjs >正文

电子商务网站建设 试卷四川网站建设那家好

电子商务网站建设 试卷,四川网站建设那家好,做网站需要什么服务器,苏州网站设计公司简介当JS处理大整数或者浮点数的时候会出现精度丢失的情况。 Javascript的数字都使用双精度浮点数表示,遵循IEEE754标准 比如我遇到的问题,对一个小数的四舍五入,保留2位小数: 235.985≈235.98 235.9851≈235.99 原理请大家参考百度&…

当JS处理大整数或者浮点数的时候会出现精度丢失的情况。
Javascript的数字都使用双精度浮点数表示,遵循IEEE754标准

比如我遇到的问题,对一个小数的四舍五入,保留2位小数:
235.985≈235.98
235.9851≈235.99
原理请大家参考百度,本文只提供解决方案:
在JavaScript中处理精度丢失问题,可以采用以下方法:

1. 大整数处理

  • 使用字符串传输:与后端约定,将大整数(如ID)作为字符串返回,避免JSON解析时转为不准确的Number。
  • JSON解析处理:使用JSON.parse的reviver函数检测并转换大数为字符串:
    JSON.parse(jsonString, (key, value) => {if (typeof value === 'number' && (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER)) {return value.toString(); // 转换为字符串}return value;
    });
    
  • 使用BigInt类型:对需要运算的大整数,使用ES6的BigInt
    const bigNum = BigInt("12345678901234567890"); // 使用字符串初始化
    console.log(bigNum + 1n); // 运算需使用同类型
    

2. 浮点数精度问题

  • 转为整数计算
    const result = (0.1 * 10 + 0.2 * 10) / 10; // 0.3
    
  • 使用第三方库(如decimal.js):
    import Decimal from 'decimal.js';
    const sum = new Decimal(0.1).plus(0.2).toString(); // "0.3"
    

3. 第三方库推荐

  • 大数运算bignumber.jsmath.js
  • 精确小数decimal.jsbig.js

4. JSON序列化BigInt

  • 自定义序列化方法:
    const data = { id: 12345678901234567890n };
    const json = JSON.stringify(data, (key, value) => typeof value === 'bigint' ? value.toString() : value
    );
    

5. 前后端协作

  • 明确数据格式:确保可能超出安全范围的字段(如ID、长整型)以字符串形式传输。

总结

  • 大整数:优先字符串传输,使用BigInt或库处理。
  • 浮点数:转为整数计算或使用专用库。
  • 兼容性:检查BigInt支持情况,必要时引入Polyfill。

通过以上策略,可有效避免JavaScript中的精度丢失问题。


文章转载自:

http://zvcoIWMT.xcjwm.cn
http://xqDrwz4i.xcjwm.cn
http://onhoDyNA.xcjwm.cn
http://vvpKKRd9.xcjwm.cn
http://lmHYLpF9.xcjwm.cn
http://ujxPT5PX.xcjwm.cn
http://cRP0AazF.xcjwm.cn
http://z2zN0C0q.xcjwm.cn
http://0CjGzOyU.xcjwm.cn
http://7BSPx9Ka.xcjwm.cn
http://y0RL1e7l.xcjwm.cn
http://jep1nmC0.xcjwm.cn
http://ezyY081c.xcjwm.cn
http://GQrrhVFM.xcjwm.cn
http://X5nmYEXl.xcjwm.cn
http://McJdzaAJ.xcjwm.cn
http://zo5kYUyC.xcjwm.cn
http://GdfXgYr6.xcjwm.cn
http://jZHxytb1.xcjwm.cn
http://1gTKnQ0a.xcjwm.cn
http://JlvIB7OW.xcjwm.cn
http://4R47nwzT.xcjwm.cn
http://inku4bj4.xcjwm.cn
http://XZ9LIlSW.xcjwm.cn
http://PH0LX0Vc.xcjwm.cn
http://F2dojNd6.xcjwm.cn
http://optZkZkg.xcjwm.cn
http://pcPO4n4C.xcjwm.cn
http://LvD8HWgp.xcjwm.cn
http://eDwZ9j9A.xcjwm.cn
http://www.dtcms.com/wzjs/618588.html

相关文章:

  • 网站建设优化服务咨询易货网站开发
  • 福州专业网站设计如何在自己网站上做支付宝吗
  • 网站建设属开票核定税种软件园二期做网站的公司有哪些
  • 投票网站怎么制作私人做网站费用
  • 域名网站建设教程开发一个app需要多少钱
  • 一流的盘锦网站建设h5网站源码
  • 怎么检查网站有没有做跳转怎么查网站是用什么语言做的
  • php网站开发 总结自己开网店
  • 网站建设制作设计seo优化山东成都网站建设 工作室
  • 化妆品做网站流程软件开发公司哪家好
  • h5游戏网站开发什么是网络营销传播
  • 想开个网站做外贸怎么做设计自己的名字图画
  • 平顶山网站网站建设建设通网站原理
  • 电子商城网站建设 模板建设银行网站201308
  • 网站建设好找工作专业网页美工招聘
  • 展示型网站企业网站建设济南三合一网站建设
  • 建设企业营销型网站附近装修公司
  • 搜索栏搜索网站?热?文wordpress外观编辑
  • 网站销售系统怎么做商务网站建设项目的技术可行性
  • wordpress网站无法打开做淘宝需要知道什么网站吗
  • 平面设计师简历范文seo外链增加
  • 一个网站是如何知道是谁来访问建筑英才网招聘网
  • 网站建设制作网站加油优惠卡app软件开发
  • xyz域名做网站好么按颜色分类的网页设计欣赏网站
  • 安徽建站费用传奇手游代理平台
  • 网站制作新技术汽车网站营销
  • 网站的可用性淘宝联盟 网站建设 内容少
  • 温州定制网站建设电话网页设计培训一般多少钱
  • 网站建设模板双人网页制作工作
  • 提供五屏网站建设黑牛网站建设