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 相关文章推荐
比较全面的event对像在IE与FF中的区别 推荐
Sep 21 Javascript
浅谈JavaScript异常处理语句
Jun 26 Javascript
Jquery跨域获得Json的简单实例
May 18 Javascript
Node.js的环境安装配置(使用nvm方式)
Oct 11 Javascript
JS中使用media实现响应式布局
Aug 04 Javascript
layui 解决富文本框form表单提交为空的问题
Oct 26 Javascript
vue 解决form表单提交但不跳转页面的问题
Oct 30 Javascript
构建Vue大型应用的10个最佳实践(小结)
Nov 07 Javascript
Vue的click事件防抖和节流处理详解
Nov 13 Javascript
Vue组件通信入门之Provide和Inject机制
Dec 29 Javascript
jQuery 选择器用法基础入门示例
Jan 04 jQuery
vue实现商品列表的添加删除实例讲解
May 14 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
一个程序下载的管理程序(一)
2006/10/09 PHP
discuz安全提问算法
2007/06/06 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
关于JS管理作用域的问题
2013/04/10 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
vuex的简单使用教程
2018/02/02 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
vue代码分割的实现(codesplit)
2018/11/13 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
js实现随机数小游戏
2019/06/28 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
Python访问MySQL封装的常用类实例
2014/11/11 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
python配置文件写入过程详解
2019/10/19 Python
Python3中的f-Strings增强版字符串格式化方法
2020/03/04 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
python3中编码获取网页的实例方法
2020/11/16 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
PHP如何自定义函数
2016/09/16 面试题
材料化学应届生求职信
2013/10/09 职场文书
工商学院毕业生自荐信
2013/11/12 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
销售员态度差检讨书
2014/10/26 职场文书
2014年小学安全工作总结
2014/12/04 职场文书
教师师德表现自我评价
2015/03/05 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书
分享CSS盒子模型隐藏的几种方式
2022/02/28 HTML / CSS