检查负数是否在一个范围内
Check if a Negative number falls within a range
我有一个代码可以不断读取温度值,而温度值总是负数。如何在 C# 中编写 If 条件来检查此温度是否在 -44 和 -46 的范围内。
我尝试了下面的代码,但条件仍然通过
if (!Enumerable.Range(-44, 1).Contains(cameraTemp)
|| !Enumerable.Range(-45, 1).Contains(cameraTemp)
|| !Enumerable.Range(-46, 1).Contains(cameraTemp))
我也尝试了下面的代码,但有些情况仍然通过
if (!(cameraTemp >= -44 && cameraTemp <= -46))
虽然我的温度值是-45,但是条件还是通过了。
如果范围是 -44 到 -46,您应该尝试以下操作。
if (!(cameraTemp <= -44 && cameraTemp >= -46))
当我们下降到负数时,比如 0 到 -1。 0 大于 -1。同样的 -1 大于 -2。所以它是逆序的。
如果您对此感到困惑,那么您必须将值转换为绝对值,然后应用条件。
详细说明。
以下条件
1. if (!(cameraTemp <= -44 && cameraTemp >= -46))
{
// Some print or logic
}
If you write condition above way then your logic only execute if temperature value is not between -44 to -46 including -44 and -46.
2. if ((cameraTemp <= -44 && cameraTemp >= -46))
{
// Some print or logic
}
If you write this way then it only execute for value -44 , -45 and -46.
你已经颠倒了运算符来检查温度
if (!(cameraTemp <= -44 && cameraTemp >= -46))
-45
不如 -44
但优于 -46
:-)
您混淆了大于和小于。在第二次尝试中,您不能同时小于 -46(例如 -47、-48 等)和大于 -44(例如 -43、-42 等)
if (!(cameraTemp <= -44 && cameraTemp >= -46))
或者,如果您想输入范围 -44
到 -46
,您应该尝试以下操作:
if (cameraTemp >= -46 && cameraTemp <= -44)
-46 小于-44 所以你必须扭转你的条件。
if (!(cameraTemp <= -44 && cameraTemp >= -46))
我有一个代码可以不断读取温度值,而温度值总是负数。如何在 C# 中编写 If 条件来检查此温度是否在 -44 和 -46 的范围内。
我尝试了下面的代码,但条件仍然通过
if (!Enumerable.Range(-44, 1).Contains(cameraTemp)
|| !Enumerable.Range(-45, 1).Contains(cameraTemp)
|| !Enumerable.Range(-46, 1).Contains(cameraTemp))
我也尝试了下面的代码,但有些情况仍然通过
if (!(cameraTemp >= -44 && cameraTemp <= -46))
虽然我的温度值是-45,但是条件还是通过了。
如果范围是 -44 到 -46,您应该尝试以下操作。
if (!(cameraTemp <= -44 && cameraTemp >= -46))
当我们下降到负数时,比如 0 到 -1。 0 大于 -1。同样的 -1 大于 -2。所以它是逆序的。
如果您对此感到困惑,那么您必须将值转换为绝对值,然后应用条件。
详细说明。
以下条件
1. if (!(cameraTemp <= -44 && cameraTemp >= -46))
{
// Some print or logic
}
If you write condition above way then your logic only execute if temperature value is not between -44 to -46 including -44 and -46.
2. if ((cameraTemp <= -44 && cameraTemp >= -46))
{
// Some print or logic
}
If you write this way then it only execute for value -44 , -45 and -46.
你已经颠倒了运算符来检查温度
if (!(cameraTemp <= -44 && cameraTemp >= -46))
-45
不如 -44
但优于 -46
:-)
您混淆了大于和小于。在第二次尝试中,您不能同时小于 -46(例如 -47、-48 等)和大于 -44(例如 -43、-42 等)
if (!(cameraTemp <= -44 && cameraTemp >= -46))
或者,如果您想输入范围 -44
到 -46
,您应该尝试以下操作:
if (cameraTemp >= -46 && cameraTemp <= -44)
-46 小于-44 所以你必须扭转你的条件。
if (!(cameraTemp <= -44 && cameraTemp >= -46))