好吧所以标题可能没有意义,但我会在这里更好地解释..我想要做的是取值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 ..我知道当我尝试时我不会工作但我不知道该怎么做...如果有人能引导我朝着正确的方向前进,那将会很酷..(我也认为这个线程比我过去的线程看起来好一点,看看我是如何解释的:^))
答案 0 :(得分:3)
您正在使用分配运算符" =
"。这会为变量赋值(例如x = 10
)。在if-check子句中,您希望将两个变量等式与compare-equality运算符进行比较," ==
"。
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;
无法正常工作,因为您正试图获取价值的!版本,而不是价值的反转。
请记得在浮动检查后执行f
,这样您就不会遇到奇怪的错误比较问题。