如何使 2 = .01 和 .01 = 2

how to make 2 = .01 and .01 = 2?

本文关键字:何使      更新时间:2023-10-16

好吧,所以标题可能不是最有意义的,但我会在这里更好地解释它..我想做的是取值 2 并使其等于 .01 并使 .01 = 2,好吧,我试图像这样硬编码它

 if (Value = 2)
    Value = 0;
else if (Value = 1.99)
    Value = .01;
else if (Value = 1.98)
    Value = .02;
else if (Value = 1.97)
    Value = .03;
else if (Value = 1.96)
    Value = .04;
else if (Value = 1.95)
    Value = .05;

(我这样做一直到0...但是它没有正常运行

我也试图像这样获得值的倒数。

Value = 1 / Value;

现在,如果值为 2,它将返回为 .5,如果值为 1,则将其设置为 1。当我尝试时,我知道这行不通,我只是不知道该怎么办......如果有人能带领我走向正确的方向,那就太酷了。(我也认为这个线程比我过去的线程好一点,看到我如何解释它:^)

您正在使用赋值运算符" = "。这会为变量赋值(例如 x = 10 )。在 if-check 子句中,您希望使用比较相等运算符"=="比较两个变量相等。

if (Value == 2.f) // checks if Value is equal to 2
    Value = 0.f; // sets Value equal to 0
else if (Value == 1.99f)
    Value = .01f;
else if (Value == 1.98f)
    Value = .02f;
else if (Value == 1.97f)
    Value = .03f;
else if (Value == 1.96f)
    Value = .04f;
else if (Value == 1.95f)
    Value = .05f;

解决您问题的替代但完整的解决方案:

if (Value <= 2.f && Value >= 0.f) // checks if Value is between or is 2 or 0
    Value = 2.f - Value; // sets !version of Value to Value

Value = 1 / Value;不起作用,因为您正在尝试获取 Value 的 !版本,而不是 Value 的反转。

请记住在浮点检查后执行f,以免遇到奇怪的错误比较问题。