console.log(0.855.toFixed(2))

- 发布:2025-03-19 09:45
- 更新:2025-03-19 11:17
- 阅读:121
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10
HBuilderX类型: 正式
HBuilderX版本号: 4.45
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: MI MAX
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
console.log(0.855.toFixed(2))
console.log(0.855.toFixed(2))
预期结果:
0.86
0.86
实际结果:
0.85
0.85
bug描述:
js的 0.855.toFixed(2) == 0.85
2 个回复
爱豆豆 - 办法总比困难多
应该是js精度丢失导致的 根uniapp没关系 自定义一个四舍五入方法就行了
0.855 在二进制中是一个无限循环小数,实际存储值可能略小于 0.855(如 0.8549999999999999)
当第三位小数小于5时,会直接截断而非四舍五入。此时若实际值为 0.854999...,第三位是4,结果即为 0.85。
靐齉齾麤龖龗 - 解决不了问题,那就解决提出问题的人
在谷歌浏览器控制台打印就是0.85了。。不关uniapp的事,可以用楼上的办法。
也可以使用
嘛,这个方法会表示成千分位的,还需要.replace(/,/g, ''),哈哈