6

我正在尝试将屏幕宽度除以一个变量,以便在 webview 中绘制等距的 UI 部分。

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

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

4

5 回答 5

14

您可以指定除法的精度:

var width = (100 / 3).toPrecision(3);
于 2013-07-27T21:57:18.787 回答
7

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

(100 / 3).toFixed(2)
于 2013-07-27T21:59:57.657 回答
0

将三个切片中的两个切片的宽度尽可能接近。从以像素为单位的目标宽度中减去以像素为单位的实际宽度之和,得到第三个切片的宽度。它可能比其他切片宽或窄一两个像素,但这对于任何合理的屏幕分辨率都是不可见的。

于 2013-07-28T15:02:02.990 回答
0

你可以做

Math.floor(100/3);

这将始终将小数四舍五入为最接近的较小整数,因此在您的情况下,它将四舍五入为 33。

于 2013-07-27T21:56:09.597 回答
-2

100 * (1/3) 将返回 33.33333333333333。

笔记:

1/3 * 100 返回 33.33333333333333

100 * 1/3 返回 33.333333333333336

所以使用括号是安全的。

于 2015-08-19T21:31:43.010 回答