我试图通过除以一个变量来将屏幕宽度分成若干相等的部分,以便在webview中绘制UI界面。
然而,当这个变量为3时,在JavaScript中计算100/3的结果是33.3333333333333336,因此无法按照预期绘制第三部分,我想原因可能是商的总和超过了100%。
是否有任何好的解决方法来解决这个问题?
我试图通过除以一个变量来将屏幕宽度分成若干相等的部分,以便在webview中绘制UI界面。
然而,当这个变量为3时,在JavaScript中计算100/3的结果是33.3333333333333336,因此无法按照预期绘制第三部分,我想原因可能是商的总和超过了100%。
是否有任何好的解决方法来解决这个问题?
您可以指定除法的精度:
var width = (100 / 3).toPrecision(3);
(100 / 3).toFixed(2)
尽可能接近两个三分之一的宽度。从目标像素宽度中减去它们实际像素宽度的总和,以获取第三个切片的宽度。它可能比其他切片多一到两个像素或少一到两个像素,但在任何合理的屏幕分辨率下都不可见。
你可以做
Math.floor(100/3);
这将始终将小数四舍五入为最接近的较小整数,因此在您的情况下,它将其舍入为33。
100 * (1/3) 将返回 33.33333333333333。
注意:
1/3 * 100 返回 33.33333333333333
但是
100 * 1/3 返回 33.333333333333336
因此,为了安全起见,请使用括号。