尝试应用使用 &&in if 条件,并在值中选择范围



嗨,我正在尝试应用如果条件在两个条件之间包含&&

  1. Convert.ToDouble(item["a"].ToString())==2.2
    
  2. Convert.ToDouble(item["b"].ToString()) should be in range from 0.38 to 1.04.
    

我正在这样尝试

if (Convert.ToDouble(item["a"].ToString())==2.2 && NA)

NA - 不知道如何应用第 2 点中定义的范围条件。

任何帮助将不胜感激。

首先将ToDoble的结果存储到变量中。之后检查该值是否大于0.38和小于1.04

var b = Convert.ToDouble(item["b"].ToString);
if(0.38 < b && b < 1.04) ...

除此之外,我强烈建议使用Double.TryParse,如果 inout 不是有效数字,它将返回 false。如果字符串不可转换,则Convert-class 中的方法会引发异常。

最后:double是一个浮点数。您的第一个条件很可能永远不会成立,因为十进制数2.2不能表示为 2 的幂。为了说明这一点,您应该在使用浮点数时比较范围,例如:

var espilon = 0.0002;
if(Math.Abs(myValue - 2.2) < epslion)
// great, do something

最新更新