[英]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.