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中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
Jan 08 Javascript
通过正则格式化url查询字符串实现代码
Dec 28 Javascript
图片上传插件jquery.uploadify详解
Nov 15 Javascript
jquery cookie的用法总结
Nov 18 Javascript
JavaScript中的Math 使用介绍
Apr 21 Javascript
javascript自定义的addClass()方法
May 28 Javascript
jQuery获取table行数并输出单元格内容的实现方法
Jun 30 Javascript
详解微信小程序 页面跳转 传递参数
Dec 08 Javascript
理顺8个版本vue的区别(小结)
Sep 17 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
Mar 05 Javascript
使用axios请求时,发送formData请求的示例
Oct 29 Javascript
JS检测浏览器开发者工具是否打开的方法详解
Oct 02 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
ajax缓存问题解决途径
2006/12/06 PHP
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
2014/05/20 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
jQuery Validate插件自定义验证规则的方法
2016/12/27 Javascript
vue页面加载闪烁问题的解决方法
2018/03/28 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
2020/03/10 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
Vue时间轴 vue-light-timeline的用法说明
2020/10/29 Javascript
python实现网页链接提取的方法分享
2014/02/25 Python
Python中Collections模块的Counter容器类使用教程
2016/05/31 Python
Django之路由层的实现
2019/09/09 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
python能否java成为主流语言吗
2020/06/22 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
黄河象教学反思
2014/02/10 职场文书
大学生两会精神学习心得体会
2014/03/10 职场文书
大班上学期幼儿评语
2014/04/30 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
优秀班主任材料
2014/12/16 职场文书
就业指导讲座心得体会
2016/01/15 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
为什么RedisCluster设计成16384个槽
2021/09/25 Redis
python 离散点图画法的实现
2022/04/01 Python