繁体   English   中英

检查包含数字的字符串值的范围

[英]Check range of string values that contains a number

我有一个值列表,例如:G1,G2,G2.5,G3,G4等。)如何在c#中检查这些值的范围,如果我想查看值是否在G1和G2之间。 5?

在Vb.net中,我可以这样做:

        Select Case selectedValue
           Case "G1" To "G2.5" //This would be true for G1, G2, and G2.5

我怎样才能在c#中做到这一点?

  1. selectedValue删除G
  2. 将剩余部分解析为decimal
  3. 根据十进制值实现逻辑

-

var number = decimal.Parse(selectedValue.Replace("G", ""));
if (number >= 1.0m && number <= 2.5m)
{
    // logic here
}

要进行字符串比较,您可以这样做

if (string.Compare(selectedValue, "G1") >= 0 && string.Compare(selectedValue, "G2.5") <= 0)
{
    ...
}

但要进行数值比较,您必须将其解析为数字( doubledecimal

var selectedValueWithoutG = selectedValue.Substring(1);
var number = decimal.Parse(selectedValueWithoutG);
if (number >= 1D && number <= 2.5D)
{
    ...
}

首先,您需要解析您的价值:

var number = decimal.Parse(selectedValue.Substring(1))

然后你可以应用这样的扩展方法:

bool Between(this int value, int left, int right)
{ 
    return value >= left && value <= right; 
}

if(number.Between(1, 2.5)) {.....}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM