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 相关文章推荐
原型方法的不同写法居然会影响调试的解决方法
Mar 08 Javascript
Highslide.js是一款基于js实现的网页中图片展示插件
Mar 30 Javascript
window.open打开页面居中显示的示例代码
Dec 27 Javascript
浅析javascript中的DOM
Mar 01 Javascript
jQuery实现带水平滑杆的焦点图动画插件
Mar 08 Javascript
AngularJS实现单独作用域内的数据操作
Sep 05 Javascript
JavaScript中Math对象的方法介绍
Jan 05 Javascript
jQuery编写网页版2048小游戏
Jan 06 Javascript
servlet+jquery实现文件上传进度条示例代码
Jan 25 Javascript
javascript高级模块化require.js的具体使用方法
Oct 31 Javascript
微信小程序中如何计算距离某个节日还有多少天
Jul 15 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
Apr 07 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
强烈推荐:php.ini中文版(2)
2006/10/09 PHP
redis 队列操作的例子(php)
2012/04/12 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
2016/12/06 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
JQuery Tab选项卡效果代码改进版
2010/04/01 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
浅谈setTimeout 与 setInterval
2015/06/23 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
2018/08/24 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
Python中的模块和包概念介绍
2015/04/13 Python
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
Python中判断子串存在的性能比较及分析总结
2019/06/23 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
python drf各类组件的用法和作用
2021/01/12 Python
css3 利用transform打造走动的2D时钟
2020/10/20 HTML / CSS
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
全球立体声:World Wide Stereo
2018/09/29 全球购物
StudentUniverse英国:学生航班、酒店和旅游
2019/08/25 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
物业客服专员岗位职责
2013/11/30 职场文书
模具专业自荐信
2014/05/29 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
小学教师个人总结
2015/02/05 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL