您现在的位置是:首页 > Javascript
当前栏目
js四舍五入保留两位小数公式
2023-03-15 23:16:48 时间
我们不仅要会对数据进行取整,有时候为了数据更加精准,保留小数是再所难免的。虽然我们说有四舍五入的方法,但在实际使用的时候也会遇到诸多的问题。下面我们先简单了解一下toFixed的方式使用,得了公式模板后,再进行实际保留小数的案例分析,对公式方法更进一步理解。
1.toFixed方法
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。例如将数据Num保留2位小数,则表示为:toFixed(Num);但是其四舍五入的规则与数学中的规则不同,使用的是银行家舍入规则。
let number=1.116 number.toFixed(2) //得到1.12
2.toFixed保留小数实例
由于2.55不是精确表示的,而2.5是可以精确表示的,所以2.55 – 2.5就可以得到0.05存储的值。可以看到确实是比0.05小。
按照源码的判断,如果剩下的尾数第1位不是1就不进位,由于剩下的尾数第1位是0,所以不进位,因此就导致了(2.55).toFixed(1)输入结果是2.5.
根本原因在于2.55的存储要比实际存储小一点,导致0.05的第1位尾数不是1,所以就被舍掉了。
那怎么办呢?难道不能用toFixed了么?知道原因后,我们可以做一个修正:
if (!Number.prototype._toFixed) { Number.prototype._toFixed = Number.prototype.toFixed; } Number.prototype.toFixed = function(n) { return (this + 3e-16)._toFixed(n); };
以上就是js四舍五入保留两位小数公式,大家学会toFixed方法后再进行运用,相信会在公式的理解上更加深刻。学会的小伙伴快试试吧。
相关文章
- 微信小程序开发入门与实战(插槽及组件页面的生命周期)
- 微信小程序开发入门与实战(组件生命周期)
- 微信小程序开发入门与实战(组件的使用)
- 前端 --- 练手用的登录注册界面
- H5 页面设置了字体的粗细样式,但是在华为手机里微信打开访问样式不生效?
- unity3d-Transform组件
- vue 里 使用 eslint 报错 error:Mixed spaces and tabs (no-mixed-spaces-and-tabs)
- 程序员接活利器,dataTable组件带你快速开发,摆脱CRUD
- 接私活福音,validation组件敏捷开发,效率提升5倍!
- Spring boot 配置单元测试
- Spring Boot 参数校验
- springboot的定时任务的方法周期比方法的运行时间长
- 40 个 SpringBoot 常用注解 上
- 40 个 SpringBoot 常用注解 中
- 40 个 SpringBoot 常用注解 下
- unity3d-常用组件
- unity3d-GameObject组件
- 10000 字讲清楚 Spring Boot 注解原理
- 10000 字讲清楚 Spring Boot 注解原理 下
- 刷题日常计~JS①