2014-07-18 191 views
0

我在我的MySQL數據庫中有一個Decimal數據類型列,我正在用我的C#代碼中的reader.Read()來讀取它。現在我需要將其轉換爲C#float數據類型。我怎樣才能做到這一點:將MySQL Decimal數據類型類型轉換爲c#float數據類型

float fl = (float)reader[9];拋出System.InvalidCastException

+0

什麼是'閱讀器的值[9]'到底是什麼?什麼是你的「CurrentCulture」?使用調試器。 –

+0

比方說236.89 – gdrt

+0

如果在代碼中設置Thread.CurrentThread.CurrentCulture = new CultureInfo(「en-us」);'會發生什麼情況並再次嘗試原始代碼? –

回答

1

您可以嘗試使用Convert.ToSingle方法

float fl = Convert.ToSingle(reader[9]); 
+0

這個工程,但我想獲得236.89而不是236,89。代碼中的一些編輯? – gdrt

+0

@ gdrt94如果您獲得236,89而不是236.89,那麼您的機器的文化設置將設置爲法語或其他使用「,」作爲小數點分隔符的文化。您可以在控制面板 - >區域和語言 - >格式 - >其他設置...中看到這些設置。感興趣的字段是十進制符號。如果你想開始處理地區差異,你可能需要更新你的問題。 – JoelC