我遇到了一个似乎无法找到答案的问题。我有一个数字作为字符串格式为“5.2.3”我将这种格式转换为能够在C#中使用大于和小于运算符的格式?我尝试了以下哪些错误:
Decimal version = Decimal.Parse(strVersion);
if (version < Decimal.Parse("5.2.4"))
{
// Do something
}
基本上这个数字的十进制类型给出了错误“无效的格式异常”?
答案 0 :(得分:7)
我想你想比较版本。
您可以{/ 3}}使用
请尝试以下示例代码System.Version
string v1 = "1.23.56.1487";
string v2 = "1.24.55.487";
var version1 = new Version(v1);
var version2 = new Version(v2);
var result = version1.CompareTo(version2);
if (result > 0)
Console.WriteLine("version1 is greater");
else if (result < 0)
Console.WriteLine("version2 is greater");
else
Console.WriteLine("versions are equal");
return;
答案 1 :(得分:6)
你看过System.Version了吗?您的变量名称似乎表明您正在查看版本号,并且该类提供了比较运算符。
答案 2 :(得分:0)
使用版本
string n1 = "5.2.4";
string n2 = "5.3.4";
Version v1 = new Version(n1);
Version v2 = new Version(n2);
int result = v1.CompareTo(v2);
if (result > 0)
{
//greater than v1
}
else if (result < 0)
{
//2 is greater
}
else
{
//they are equal
}