2011-07-14 67 views
2

爲十進制我有以下的Linq聲明:如何將字符串轉換在LINQ查詢

var total = (from a in mobileChunk.Data select a.callCost).Sum(); 

callCost是一個字符串。我需要將其轉換爲小數。這是如何完成的?

回答

3

我會做這樣的事情....

public static class Extenders 
{ 
    public static decimal ToDecimal(this string str) 
    { 
     // you can throw an exception or return a default value here 
     if (string.IsNullOrEmpty(str)) 
      return someDefaultValue; 

     decimal d ; 

     // you could throw an exception or return a default value on failure 
     if (!decimal.TryParse(str, out d)) 
      return someDefaultValue; 

     return d; 
    } 
} 

現在,.....

var total = = (from a in mobileChunk.Data select a.callCost.ToDecimal()).Sum(); 
+0

這是一個非常好的解決方案,因爲它可以容納空字符串和空字符串。 –

+0

@JL這就是爲什麼我這樣做:) –

3

也許你可以試試這個:在你的LINQ

var total = (from a in mobileChunk.Data select decimal.Parse(a.callCost)).Sum();