-3

鉴于:

x = 0.5;
y = 0.3;

if (x < 0.5) {
   //decrease y to 0 where x reaches 0 at the same time y reaches 0.
}

如何按比例减少两个变量?所以x和y同时达到0?

4

1 回答 1

1

我的假设是您希望逐步减少,直到最终两个变量同时达到零。

您可以根据您希望执行的步骤大小计算减少这两个变量的比率。如果您希望将两者都减少 10%,则步长为 0.1 * x 和 0.1 * y。

请注意,您应该在第一次启动并保留它时计算步长。如果你重新计算每次迭代的步长,每一步都会变得越来越小,你永远不会完全达到零

请记住,由于浮点数不准确,您可能永远不会完全达到零。根据您的需要,您可以测试 <= 0。

于 2013-10-03T21:13:08.867 回答