怎么制作2 = .01和.01 = 2?

时间:2017-11-05 04:14:44

标签: c++ integer

好吧所以标题可能没有意义,但我会在这里更好地解释..我想要做的是取值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 ..我知道当我尝试时我不会工作但我不知道该怎么做...如果有人能引导我朝着正确的方向前进,那将会很酷..(我也认为这个线程比我过去的线程看起来好一点,看看我是如何解释的:^))

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,这样您就不会遇到奇怪的错误比较问题。