2014-07-18 73 views
0

我遇到了一個問題,我似乎無法找到任何答案。我有一個數字作爲格式爲「5.2.3」的字符串,我將它轉換爲可以在C#中使用大於還是小於運算符的格式?我試過以下哪個錯誤:C#.NET類型多點小數?

Decimal version = Decimal.Parse(strVersion); 
if (version < Decimal.Parse("5.2.4")) 
{ 
    // Do something 
} 

基本上這個數字的十進制類型給了我錯誤「無效格式異常」?

+3

這不是一個有效的數字。你打算將這個號碼存儲爲什麼? – Beakie

+0

這是應用程序的版本代碼,我需要檢查版本是否小於我在「if」語句中指定的版本? – Apqu

+0

然後看到下面的答案。 – Beakie

回答

7

我想你想比較的版本。

可以使用System.Version下面的示例代碼

嘗試如下回答Compare version numbers without using split function

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; 
+0

akho divas ahiya j padiyo hoy che? –

6

你看着System.Version?您的變量名稱似乎表明您正在查看版本號,並且該類提供了比較運算符。

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 
}