请教一下 js 精度的问题

2017-11-24 09:59:49 +08:00
 wslsq

最近在做一个前端计算器

关于 js 精度,网上教程大部分都是把小数处理成整数

然而

4246.77 * 100 = 4336.820000000001

请问一下大家一般怎么处理

3134 次点击
所在节点    JavaScript
26 条回复
moe3000
2017-11-24 10:51:07 +08:00
toFixed 或者别人写的运算库
wslsq
2017-11-24 10:59:47 +08:00
@moe3000
@Elven
@lybtongji
@hasbug
谢谢大家 不一一回复了
zproo
2017-11-24 11:21:12 +08:00
rover5056
2017-11-24 11:24:37 +08:00
(*1000 +0.001)/1000
自己想的办法 有点妖但是很好用
rover5056
2017-11-24 11:25:13 +08:00
再 FIX 一下就好了
yuriko
2017-11-24 17:40:55 +08:00
大多数语言都会有的问题,本质就是浮点数小数部分转成二进制会无限循环,再转换回来的时候丢失精度

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/409114

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX