0

我讨厌添加关于这个主题的一连串问题,但我不知道在哪里可以找到一个简洁的答案,所以这里是:

我在 jsFiddle上有这个表格

我通过结合我今天在网上找到的几个不同的例子来达到这一点,以获得我想要的整体效果。

在研究过程中,我发现很多帖子都在谈论添加浮点数的危害。我相信我理解为什么这通常是一个关于精度的坏主意的概念。但是,这似乎只是当两个数字的总和带有几个小数位时才真正成为问题。(如 6 个或更多)

在我的代码中,我只会添加有 2 个小数位的数字,并且我 var n=val.toFixed(2);用来确保结果有 2 个且只有 2 个小数位。当测试一切似乎都很好。

我的问题是双重的:

  1. 鉴于我只需要 2 位小数,这是实现我想要的结果并保持精度的一种可接受的方式吗?

  2. 你能给我举一个例子,展示一个更好或更被接受的方式来做我想做的事吗?

恕我直言(我非常尊重这个社区)我知道“客户端验证不会取代服务器端验证”我只需要支持 Chrome,所以如果我的代码中的任何内容都不能按预期工作其他浏览器不是问题。

4

1 回答 1

1

一般来说,是的。浮点数通常可以提供 15 位有效数字的精度,因此只保留 2 位数字几乎总是有效的。

然而,根据我的个人经验,我发现始终以整数工作更可靠——甚至使用字符串运算来删除小数点并跟踪我有效地将原始数字乘以了多少次方我可以在最后再次分裂。

于 2013-02-15T06:27:29.947 回答