我正在使用介于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以获得您需要的十进制值。