我开始遇到小数问题,这让我了解了整个浮点数学。我的问题是,什么是可行的解决方案?
x = 0.1;
y = 0.2;
num = x + y;
num = Math.round(num * 100) / 100;
或者
x = 0.1;
y = 0.2;
num = x + y;
num = num.toFixed(2);
num = Number(num);
这两个都是 100% 可行的选择吗?比如,再也不用担心遇到同样的问题了?你会推荐哪一个?或者您会推荐不同的解决方案吗?有什么理由使用一种解决方案而不是另一种解决方案?提前感谢您的帮助。
编辑:对不起,我没有更具体。我很好,它始终是 2 位小数,因为这对我的项目来说不是问题。显然,如果你想要更多的小数,你会使用 1000 而不是 100 和 toFixed(3),等等。我主要担心的是,上述两种解决方案是否 100% 可行,例如,我不必担心任何相同的问题?另外,您会推荐第一种解决方案还是第二种解决方案?或者完全是另一个?因为我将大量使用一种方法进行许多计算。再次感谢你的帮助。