drawChallengeTextAlpha

drawChallengeTextAlpha

我正在使用介于0和1之间(含2个小数点)的值。

我试图以0.01为步长从0递增到1,但是遇到问题:

以下是递归调用自身的函数。

if ($Y.drawChallengeTextAlpha.toFixed(1) < 1)
 $Y.drawChallengeTextAlpha += 0.01;

我永远不会超过0.95。

编辑

我得出以下结论:
// $Y.drawChallengeTextAlpha is an integer from 0 to 100
if ($Y.drawChallengeTextAlpha < 100)
  $Y.drawChallengeTextAlpha += 1;  // May not always be 1

然后,我得到的精确值是($ Y.drawChallengeTextAlpha / 100)

最佳答案

toFixed将数字向上舍入,这就是为什么当您接近0.95时开始获得返回值1的原因。

浮点是困惑的。如果您确实需要100%的精度,请使用一个整数变量,在每次迭代中将其递增1,测试它何时达到100,然后进行实际计算,将您的变量除以100以获得您需要的十进制值。

09-25 16:16