Javascript Javascipt十进制乘除输出

Javascript Javascipt十进制乘除输出,javascript,Javascript,为什么在输出中,小数的长度在这两种情况下有所不同 33 * .1 = 3.3000000000000003 何处为 33 * .01 = 0.33 知道为什么会这样吗 注意:33在上述计算中可以是任何整数 当您将.1或1/10转换为基数2(二进制)时,您会得到一个重复值 小数点后的模式,就像尝试在 基数10。该值不精确,因此无法进行精确计算 它使用普通的浮点方法 这就是为什么你最终的答案是这样的 当您将.1或1/10转换为基数2(二进制)时,您会得到一个重复值 小数点后的模式,就像尝试在 基

为什么在输出中,小数的长度在这两种情况下有所不同

33 * .1 = 3.3000000000000003
何处为

33 * .01 = 0.33
知道为什么会这样吗

注意:
33
在上述计算中可以是任何整数

当您将.1或1/10转换为基数2(二进制)时,您会得到一个重复值 小数点后的模式,就像尝试在 基数10。该值不精确,因此无法进行精确计算 它使用普通的浮点方法

这就是为什么你最终的答案是这样的

当您将.1或1/10转换为基数2(二进制)时,您会得到一个重复值 小数点后的模式,就像尝试在 基数10。该值不精确,因此无法进行精确计算 它使用普通的浮点方法


这就是为什么你最终的答案是这样的。

请注意,当你转到
33*.1=3.2
时。这是由于某些数字不能用二进制表示。请注意,当您转到
33*.1=3.2
时。这是由于一些数字不能用二进制表示。