2014-03-26 27 views
0

我有一個表myTable字段總decimal(18,3)SQl server 2008 R2,如果我sum(total) SQL中的所有記錄它給了我一個數字,說'220150.36'但是當我將相同的記錄c# (VS 2010)和我總結相同的字段總數(但現在在C#中),它給了我一個不同的數字'220396',記錄被檢索到datatable,並且此數據表中的總字段是十進制類型。sql和c#給出了不同的總和爲相同的數據

任何想法?

感謝

回答

1

這是一個Culture問題。檢查DB中存在的值的十進制分隔符,在你的情況下似乎是,

嘗試這樣:

double.Parse(val, System.Globalization.CultureInfo.GetCultureInfo("fr-FR")); 

對於法國,小數點分隔符是,因此該值將被正確處理,你會得到正確的和結果。

相關問題