如何使 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
,以免遇到奇怪的错误比较问题。
相关文章:
- 如何在 C 中正确使用 libiconv 使其不会报告"Arg list too long"?
- std::vector的包装器,使数组的结构看起来像结构的数组
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 如何在全屏模式下(在OpenGL中)使背景透明
- 找到两对数字,使它们的乘积的绝对差最小化
- C++:如何使函数只返回作为列表一部分的字符串
- Python中的for循环与C++有何不同
- c++使用foreach使数组为null
- 使外部项目可用于find_package CMake
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 是否可以在C++中使变量真正只读
- 有可能使shared_ptr协变吗
- 使lambda不可复制/不可移动
- 学习多线程C++:添加线程不会使执行速度更快,即使它看起来应该
- 如何使用OpenMP使这个循环并行
- 根据变量使Qt UI中的复选框为已选中/未选中
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- 如何使基类的运算符对基类的可变参数数可见(请参阅下面的代码)?
- 通过交换元素使数组相同
- C++11编译器何时会使RVO和NRVO优于移动语义和常量引用绑定