簡體   English   中英

C#decimal.Parse()奇怪的FormatException

[英]C# decimal.Parse() strange FormatException

MyDataSet myDataSet帶有MyTable ,列string MyNumber (名稱已更改)。 然后在表中添加一行(現有代碼):

decimal d = GetSum();
myDataSet.MyTable.AddMyTableRow(d.ToString("F2"));

現在我必須得到那個十進制數。 但是當我嘗試時它會拋出FormatException

decimal.Parse(myDataSet.MyTable[0].MyNumber);
// or
decimal.Parse(myDataSet.MyTable[0].MyNumber, CultureInfo.InvariantCulture);
//or
decimal.Parse(myDataSet.MyTable[0].MyNumber, CultureInfo.CurrentCulture)
//or
anything else..

幾天前我有類似的問題。 然而,這是我在MVC項目中的ModelBinding。 我不得不覆蓋負責將十進制值綁定到模型變量的類。

嘗試用逗號(,)替換句號(。)

我猜想FormatException建議您不要將字符串值放入Decimal.Parse方法。

http://msdn.microsoft.com/en-us/library/cafs243z.aspx

MSDN建議:

FormatException = s的格式不正確。

從您查看列的內容而不是其中包含的數據。

我通過為這些數字創建額外的十進制列來解決這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM