JavaScript小数运算出现多位的解决办法
JavaScript小数运算出现多位的解决办法
在开发JS过程中,会经常遇到两个小数相运算的情况,但是运算结果却与预期不同,调试一下发现计算结果竟然有那么长一串尾巴。
先看几个例子,在Chrome控制台测试结果如下:
产生原因:
JavaScript对小数运算会先转成二进制,运算完毕再转回十进制,过程中会有丢失,不过不是所有的小数间运算会有这个问题。
解决办法:
一、先把需要运算的小数扩大成整数,运算后在缩小相同倍数。
例如:0.1+0.2 写成 (0.1*10+0.2*10)/10 结果:0.3
注意:type 为 number
- 1
- 2
二、使用toFixed()
例如:var a = 0.1+0.2 写成 a.toFixed(1) 结果:"0.3"a.toFixed(2) 结果:"0.30"
注意:type 为 string
- 1
- 2
- 3
两种解决方案得到的结果类型不同,第二种会强制保留n位,根据实际需要选择。
JavaScript小数运算出现多位的解决办法相关推荐
- PhpCms V9 调用栏目推荐位的解决办法
PhpCms V9 调用栏目推荐位的解决办法 http://www.veryhuo.com 2011-05-09 烈火学院 投递稿件 我有话说 PhpCms V9 调用栏目推荐位的解决办法 在栏目页/ ...
- JavaScript中的onunload不能用的解决办法
JavaScript中的onunload不能用的解决办法决办法 原文地址:JavaScript中的onunload不能用的解决办法 今天学习JavaScript中的onunload事件,然后自己开始试 ...
- 无法安装64位office,因为已有32位版本……解决办法
无法安装64位版本的Office,因为在您的PC上找到了以下32位程序,请卸载所有32位Office程序,然后重试安装64位Office.如果要安装32位Office,请运行32位安装程序" ...
- Javascript中this指向丢失原因及解决办法详解
大家都知道JS中的this关键字通常出现在函数或者方法中,用来指向调用该函数或者方法的对象.但是在很多时候this的指向却并不总是如我们所愿,这一篇文章就一起来看看到底该如何判断this所指向的对象, ...
- PLSQL developer 连接不上64位Oracle 解决办法
在64位Windows2003上安装Oracle后,用PLSQL developer去连接数据库出现报错: Could not load "--\bin\oci.dll" OCID ...
- “RuntimeWarning: overflow encountered in ubyte_scalars像素加减运算溢出异常”原因以及解决办法
转载本文请注明详细地址 本文介绍了像素点相加减溢出的原因与解决方法 目录 原因: 解决方法: 原因: 这个问题一般是会出现在图像处理像素的加减中,出现的原因是因为图片的像素一般是八位即最大值是256, ...
- 前端js多个小数相加出现无限循环小数的解决办法
做项目的时候,发现多个小数相加值明明是100,但js 函数计算后确实99.9999,无限循环小数.恰好在前端大全的公众号上看到了一篇文章解释了这个问题,如下图: 文章链接:https://mp.wei ...
- JavaScript节流函数, 防止大量函数触发解决办法
理由 有时候开发者会需要注册一些回调函数在浏览器的scroll和resize事件上, 但是scroll和resize这类事件触发非常频繁, 而实际用户并不需要感知这么多的事件产生, 造成大量函数触发, ...
- 安装office2013 64位版本 出错解决办法
今天在开始安装Office2013时总是提示安装出错,并且显示错误为"无法安装64位版本的Office,因为在您的PC上找到了以下32位程序",查看了一下,原来是曾经安装过32位的 ...
- 0xc000007b——应用程序无法正常启动解决办法
问题 vs2013 写的一个64位的exe程序(Qt+OSG项目),debug后带着来自系统目录C:\Windows\SysWOW64\msvcr120d.dll 到一个没有runtime的win10 ...
最新文章
- 从头理解self-attention机制
- python数据结构与算法:二叉树及三种遍历方式(先序遍历/中序遍历/后序遍历)
- 读文献先读图——主成分分析 PCA 图
- opencv图片全景拼接详解
- Linux环境编程 哈希链表结构 hlist 介绍与用例
- Mysql字符串截取 mysql将字符串字段转为数字排序或比大小
- 如何允许用户自定义UI
- oracle中的判断大小,sql语句判断大小
- synchronized原理_浅谈synchronized的实现原理
- Ceph使用块设备完整操作流程
- vue仿微博评论回复_Vue之 3.0升级
- python调用perl_文本处理,用perl 还是python?
- 一个简单实用的boost升压电路
- graphpad prism柱状图横坐标斜着_GraphPad Prism 绘图教程 | 如何在图表中对齐对象
- 关于ExtJS错误“例外被抛出且未被接住”问题
- Springboot毕设项目会议预约系统设计与实现3if68(java+VUE+Mybatis+Maven+Mysql)
- xy坐标转换为极坐标_认识工程测量坐标系练习例题
- U盘中病毒,文件夹变成exe文件
- 宿主机无法访问虚拟机web服务器,宿主机无法访问虚拟机中的docker容器怎么办_网站服务器运行维护,宿主机,虚拟机,docker...
- 伊滨区应急管理局领导莅临埃思特考察指导