[英]Division of float numbers in JavaScript
我试图将屏幕宽度除以变量,以便在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
所以使用括号是安全的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.