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 相关文章推荐
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
Oct 11 Javascript
node在两个div之间移动,用ztree实现
Mar 06 Javascript
javascript实现依次输入input自动定焦
Dec 23 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
Mar 01 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
Apr 23 Javascript
BootStrap 附加导航组件
Jul 22 Javascript
AngularJS基础 ng-switch 指令简单示例
Aug 03 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
Dec 22 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
Feb 07 Javascript
详解Angularjs 自定义指令中的数据绑定
Jul 19 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
Oct 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
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
xajax写的留言本
2006/11/25 PHP
PHP5 的对象赋值机制介绍
2011/08/02 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
javascript 解析后的xml对象的读取方法细解
2009/07/25 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
python生成随机图形验证码详解
2017/11/08 Python
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
2019/03/05 Python
python获取Linux发行版名称
2019/08/30 Python
python库matplotlib绘制坐标图
2019/10/18 Python
Python基于Socket实现简单聊天室
2020/02/17 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
Python常用类型转换实现代码实例
2020/07/28 Python
美国旅游网站:Tours4Fun
2017/02/17 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
保护环境建议书400字
2014/05/13 职场文书
销售活动策划方案
2014/08/26 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
zabbix监控mysql的实例方法
2021/06/02 MySQL
Python异常类型以及处理方法汇总
2021/06/05 Python
python字典的元素访问实例详解
2021/07/21 Python
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers