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中实现replaceAll的方法(实例代码)
Nov 12 Javascript
jQuery中的val()示例应用
Feb 26 Javascript
js判断字符长度及中英文数字等
Mar 19 Javascript
jquery操作 iframe的方法
Dec 03 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
Feb 19 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
Jun 18 Javascript
js仿小米手机上下滑动效果
Feb 05 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
Jun 28 Javascript
vue实现分页加载效果
Dec 24 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
Aug 10 Javascript
Vue中引入svg图标的两种方式
Jan 14 Vue.js
在JavaScript中查找字符串中最长单词的三种方法(推荐)
Jan 18 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
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
yii实现级联下拉菜单的方法
2014/07/31 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
在laravel框架中实现封装公共方法全局调用
2019/10/14 PHP
javascript prototype,executing,context,closure
2008/12/24 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
angularjs学习笔记之完整的项目结构
2015/09/26 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
函数式编程入门实践(一)
2019/04/20 Javascript
layer.js之回调销毁对话框的例子
2019/09/11 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
初步探究Python程序的执行原理
2015/04/11 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
python语言中有算法吗
2020/06/16 Python
Python利用命名空间解析XML文档
2020/08/10 Python
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
里程积分管理买卖交换平台:Points.com
2017/01/13 全球购物
解释一下抽象方法和抽象类
2016/08/27 面试题
电子信息工程专业求职信
2014/06/28 职场文书
2014年护理部工作总结
2014/11/14 职场文书
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL
python标准库ElementTree处理xml
2022/05/20 Python