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 相关文章推荐
JQUERY操作JSON实例代码
Feb 09 Javascript
一个简单的js树形菜单
Dec 09 Javascript
jQuery设置div一直在页面顶部显示的方法
Oct 24 Javascript
jquery cookie的用法总结
Nov 18 Javascript
JS网页图片按比例自适应缩放实现方法
Jan 15 Javascript
JavaScript禁止复制与粘贴的实现代码
May 16 Javascript
详解微信小程序开发之城市选择器 城市切换
Jan 17 Javascript
Bootstrap输入框组件简单实现代码
Mar 06 Javascript
webstorm中vue语法的支持详解
May 09 Javascript
element-ui 上传图片后清空图片显示的实例
Sep 04 Javascript
使用jquery Ajax实现上传附件功能
Oct 23 jQuery
解决nuxt 自定义全局方法,全局属性,全局变量的问题
Nov 05 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
phpBB BBcode处理的漏洞
2006/10/09 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
js形成页面的一种遮罩效果实例代码
2014/01/04 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
2014/10/17 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
[56:29]Secret vs Optic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
Python实现简单的语音识别系统
2017/12/13 Python
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
Python中捕获键盘的方式详解
2019/03/28 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
英国电气世界:Electrical World
2019/09/08 全球购物
曼城官方网上商店:Manchester City
2019/09/10 全球购物
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
应届毕业生求职信范文
2013/12/18 职场文书
毕业寄语大全
2014/04/09 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
加油口号大全
2014/06/13 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
2015教师年度考核评语
2015/03/25 职场文书
公司周年庆寄语
2019/06/21 职场文书