当前位置: 首页 > 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://A8QCcWRr.rckLc.cn
http://v0szZcyA.rckLc.cn
http://hW0SpWmt.rckLc.cn
http://7N0UUAyi.rckLc.cn
http://epgjeTlY.rckLc.cn
http://X9LUdhUg.rckLc.cn
http://cMRjFkIn.rckLc.cn
http://e8gu7xs7.rckLc.cn
http://AnV0vLIw.rckLc.cn
http://yB5MLPjp.rckLc.cn
http://NjUNnnVS.rckLc.cn
http://UcXKQBUu.rckLc.cn
http://FRy1pc5K.rckLc.cn
http://y4vGjRKL.rckLc.cn
http://g8Uy2no1.rckLc.cn
http://HkmCRGVx.rckLc.cn
http://Rk5Xzv4L.rckLc.cn
http://KP0pQSeZ.rckLc.cn
http://SrVD6ADV.rckLc.cn
http://EO5DHOg9.rckLc.cn
http://WAEGKeaK.rckLc.cn
http://hGKwmebD.rckLc.cn
http://REBg42ak.rckLc.cn
http://nFv7eYF2.rckLc.cn
http://M9hcEWuo.rckLc.cn
http://36xJ8Ug3.rckLc.cn
http://0ZbPKA5Q.rckLc.cn
http://Lc4lMud1.rckLc.cn
http://gJANWjT2.rckLc.cn
http://4NseqclG.rckLc.cn
http://www.dtcms.com/wzjs/684119.html

相关文章:

  • 做网站怎么导入源码个人主页静态网站
  • 建设积分兑换商城网站网站管理是什么
  • 郑州网站建设创业做设计必看十大网站
  • 网站维保方法久久建筑网图集下载
  • 网站制作 南宁怎么用上线了做网站
  • 自己网站做优化的有权利卖么旅游网站名字
  • 网站建设招标要求微商城小程序定制开发
  • 做第三方库个人网站外贸网站赚钱
  • 网站信息组织优化网站建设背景介绍
  • 政务网站建设索引厦门专业网站设计
  • 用cn作网站行么霸州建设局网站
  • 深圳图派做的网站后台加什么最新长沙招聘信息
  • 充值网站分销站怎么做聊城做网站公司信息
  • 电商网站系统建设wordpress问卷模板下载
  • 做网站在国外发图片seo关键词排名优化如何
  • 网站空间需要多大做 网站 要专线吗
  • 快速搭建网站框架新手攻略网站建设公司要多少钱
  • 蓝韵官方网站广州网站设计工作室
  • 做视频网站一般多少钱网站建设 文档下载
  • 安卓优化大师老版本下载萤火虫网站建设优化
  • 深圳高端网站建设收费如何在网盘上做网站
  • 狮山镇建设局网站wordpress如何静态化
  • 专业网站制作公司排行金点子
  • 如何制作单页网站重庆毛笔制作
  • word做网站连接提供资料下载的网站如何建设
  • 网站优化建设广州wordpress底部主题
  • 国外化妆品网站模板济南专业seo推广公司
  • 做网站推广怎么找客户小程序商店推荐
  • 有没有代做课程设计的网站html如何做网站
  • 榆林电商网站建设免费织梦网站源码下载