js数字舍入误差以及解决方法(必看篇)


Posted in Javascript onFebruary 28, 2017

1、起因:

js数字舍入误差以及解决方法(必看篇)

返回结果是true。

2、原因:计算机的二进制实现和位数限制有些数无法有限表示。就像一些无理数不能有限表示,如 圆周率 3.1415926...,1.3333... 等。JS 遵循 IEEE 754 规范,采用双精度存储(double precision),占用 64 bit。

3、解决方法

(1)toFixed(),存在兼容性(chrome)

js数字舍入误差以及解决方法(必看篇)

(2)比较稳妥方法(数字如果过大,也会有误差):

*JS 中能精准表示的最大整数是 Math.pow(2, 53),十进制即 9007199254740992。  大于 9007199254740992 的可能会丢失精度

function round(num,d){

//Step1:将num放大10的d次方倍

num*=Math.pow(10,d);

//Step2:对num四舍五入取整

num = Math.round(num);

//Step:返回num缩小10的d次方倍,获得最终结果

return num/Math.round(10,d);

}

console.log(round(123.456)); //123.46

以上这篇js数字舍入误差以及解决方法(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
通用JS事件写法实现代码
Jan 07 Javascript
IE与Firefox在JavaScript上的7个不同写法小结
Sep 14 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
Apr 29 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
Dec 08 Javascript
AngularJS通过$location获取及改变当前页面的URL
Sep 23 Javascript
JS图片压缩(pc端和移动端都适用)
Jan 12 Javascript
es6学习笔记之Async函数的使用示例
May 11 Javascript
使用vue制作FullPage页面滚动效果
Aug 21 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
Aug 30 Javascript
JavaScript变速动画函数封装添加任意多个属性
Apr 03 Javascript
npm 语义版本控制详解
Sep 10 Javascript
vue+element树组件 实现树懒加载的过程详解
Oct 21 Javascript
JS实现浏览器打印、打印预览示例
Feb 28 #Javascript
JS基于面向对象实现的多个倒计时器功能示例
Feb 28 #Javascript
js中删除数组中的某一元素实例(无下标时)
Feb 28 #Javascript
jQuery图片切换动画效果
Feb 28 #Javascript
jQuery 判断元素整理汇总
Feb 28 #Javascript
jQuery倒计时代码(超简单)
Feb 27 #Javascript
js实现图片左右滚动效果
Feb 27 #Javascript
You might like
PHP4(windows版本)中的COM函数
2006/10/09 PHP
php 中的str_replace 函数总结
2007/04/27 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
javascript函数库-集合框架
2007/04/27 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
2016/02/25 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
详解webpack打包第三方类库的正确姿势
2018/10/20 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
python获取各操作系统硬件信息的方法
2015/06/03 Python
Python实现简单截取中文字符串的方法
2015/06/15 Python
Windows下Python的Django框架环境部署及应用编写入门
2016/03/10 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
django迁移数据库错误问题解决
2019/07/29 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
Theo + George官方网站:都柏林时尚品牌
2019/04/08 全球购物
护理学毕业生求职信
2013/11/14 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
安全知识竞赛主持词
2015/06/30 职场文书
天气温馨提示语
2015/07/14 职场文书
运动会通讯稿100字
2015/07/20 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
CSS实现漂亮的时钟动画效果的实例代码
2021/03/30 HTML / CSS
理解深度学习之深度学习简介
2021/04/14 Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS
Golang bufio详细讲解
2022/04/21 Golang