栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

js 解决数据精度丢失问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

js 解决数据精度丢失问题

一、我们在处理数据的时候可能会遇到类似0.1+0.2 !=0.3的问题,让我们来分析下原因:

        因为 JS 采用 IEEE 754 双精度版本(64位),并且只要采用 IEEE 754 的语言都有该问题(我知道的java也是这样)。我们都知道计算机是通过二进制来存储东西的,0.1和0.2在转换二进制后都是是无限循环的,这样其实没什么问题,但是 JS 采用的浮点数标准却会裁剪掉后面的数字,导致精度丢失 0.1+0.2=0.30000000000000004。

比如18466.67*100,按理说他等于1846667吧,可是他等于1846666.9999999998,效果如下

 

二、我们可以这样处理:  parseFloat((0.1 + 0.2).toFixed(10))

parseFloat((18466.67*100).toFixed(0))

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/999361.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号