JavaScript中浮点数的划分

mmr*_*mrn 3 javascript floating-point division floating-accuracy

我试图将屏幕宽度除以变量,以便在webview中绘制等间距的UI部分.

但是,当变量为3时,JavaScript中的100/3结果为33.3333333333333336,而第三部分无法按预期绘制,因为商的总和大于100%,我说.

这个问题有什么好的解决方法吗?

Der*_*ony 10

您可以指定除法的精度:

var width = (100 / 3).toPrecision(3);
Run Code Online (Sandbox Code Playgroud)


Jiv*_*ngs 5

你能做的最好的就是尽可能接近:

(100 / 3).toFixed(2)
Run Code Online (Sandbox Code Playgroud)


Gor*_*ven 0

你可以做

Math.floor(100/3);
Run Code Online (Sandbox Code Playgroud)

它总是将小数四舍五入为最接近的较小整数,因此在您的情况下,它会将其四舍五入为 33。