gpt4 book ai didi

javascript - javascript运算中有很多小数

转载 作者:行者123 更新时间:2023-12-02 17:46:43 24 4
gpt4 key购买 nike

我正在运行以下 JavaScript 代码:

var var1 = 0.53;
var var2 = 0.47;
alert(var1-var2);

此代码返回:

0.06000000000000005

但是如果我执行这段 JavaScript 代码:

var var1 = 0.14;
var var2 = 100;
alert(var1*var2);

返回结果为:

14.0600000000000002

什么文档可以解释这一点?

谢谢!

最佳答案

这是一个非常基本的问题,与 float 的表示方式有关(详细说明请参阅wikipedia article)。它不是特定于 javascript。

由于计算机仅处理二进制值,因此不可能精确表示某些分数。例如:1/2或3/4可以精确表示。另一方面,1/3 不能(就像在十进制系统中一样)。像 0.14 这样看似“简单”的数字会导致舍入误差,这是违反直觉的,但是,当您将其视为 7/50 = 7/(5 * 5 * 2) 时,情况就变得很清楚了。问题是五号。 1/5 = 0.2 在十进制中很好,但在二进制中则不然。

更新:

我并不是说不可能精确地进行此类计算。但是,您必须使用某些库来实现此目的(例如,用于处理货币值)

关于javascript - javascript运算中有很多小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21700752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com