当前位置: 首页 > 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://www.dtcms.com/wzjs/560125.html

相关文章:

  • 网站建设富库大连建设工程信息网官网查询
  • 简述建设一个网站的具体过程社科联网站建设方案策划书
  • 深圳网站建设企业名录如何创建自己的网站
  • 专门做运动装备的网站我国酒店网站建设存在的问题
  • 沧州网站建没如何作做网站
  • 网站服务器怎么做怎么样让网站快速收录
  • 怎么查看网站的点击率建设购物网站多少钱
  • 中国建设招标网站中标公告秦皇岛做网站哪家好
  • 食品餐饮网站建设网站组网图
  • 谷歌外贸网站seo怎么做出口贸易网站
  • 网站开发运营产品经理招聘wordpress 静态缓存
  • html网站搭建中小型企业网站优化价格
  • 南宁网站优化公司电话瀑布流模板中加入广告 wordpress
  • 滦平县建设局网站传媒公司有哪些
  • 各大网站黑白几天想象力网站建设
  • 企业网站开发需求分析汽车网站制作策划方案
  • 五分钟自己创建网站的方法宿州金融网站建设
  • 瀑布流分享网站源代码下载网站开发算是研发支出吗
  • 猎头网站模板wordpress占用资源大
  • 相机网站建设规划书软件工程是干什么的
  • 十堰网站建设怎么做网页设计与制作教程电商
  • 合肥网站建设代理商章丘网站建设哪家好
  • 在线做动漫图的网站网站建设可行性分析表
  • 海南四定网站开发Python电影网站开发
  • wordpress模板创建对网站外部的搜索引擎优化
  • 一家专门做动漫的网站为什么要进行网络整合营销?
  • 公司建设网站的必要性个人网站用什么开发
  • 做百度网站排检测网站开发语言
  • 做版式的网站个人站长做网站需要多少钱
  • 光触媒网站建设武进网站建设哪家好