JavaScript中浮点数的划分
我试图用一个变量除以屏幕宽度,以便在webview中绘制等距的UI部分 但是,当变量为3100/3时,JavaScript中的结果为33.3336,并且第三部分无法按预期绘制,因为商的总和大于100%,因此I guss 这个问题有什么好的解决方法吗?你可以这样做JavaScript中浮点数的划分,javascript,floating-point,division,floating-accuracy,Javascript,Floating Point,Division,Floating Accuracy,我试图用一个变量除以屏幕宽度,以便在webview中绘制等距的UI部分 但是,当变量为3100/3时,JavaScript中的结果为33.3336,并且第三部分无法按预期绘制,因为商的总和大于100%,因此I guss 这个问题有什么好的解决方法吗?你可以这样做 Math.floor(100/3); 它总是将小数点四舍五入到较小的最接近整数,因此在您的例子中,它将四舍五入到33 您可以指定分割的精度: var width = (100 / 3).toPrecision(3); 您所能做的最好
Math.floor(100/3);
它总是将小数点四舍五入到较小的最接近整数,因此在您的例子中,它将四舍五入到33 您可以指定分割的精度:
var width = (100 / 3).toPrecision(3);
您所能做的最好是尽可能靠近:
(100 / 3).toFixed(2)
将三个切片中的两个切片的宽度尽可能接近。从目标宽度(以像素为单位)减去它们的实际宽度(以像素为单位)之和,得到第三个切片的宽度。它可能比其他切片宽或窄一个或两个像素,但对于任何合理的屏幕分辨率都不可见。100*(1/3)将返回33.33333 注: 1/3*100返回33.33333 但是 100*1/3返回33.3336
因此,为了安全起见,请使用括号。那么屏幕不动产中会有1%的损失:100*(1/27)返回3.7037037037033,1/27*100返回3.7037037037033,100*1/27返回3.7037037037037。所以这不是括号的问题。