我有我通過顯示一個領域:對於使用String.Format創建的貨幣字符串,decimal.parse失敗?
String.Format({0:c},amount)
這將產生字符串「$ 28.28」
然而,當我試圖回到轉換爲十進制量,我得到一個不正確的格式異常:
amount = Decimal.Parse(amount.Text, NumberStyles.Currency)
我也試着用NumberStyles.AllowCurrencySymbol和它一樣的結果。我確認了amount.Text中的值是「$ 28.28」。
我錯過了什麼嗎?這兩個操作不應該使用相同的貨幣符號和格式嗎?
「Format」操作產生的字符串是什麼? – Oded 2011-04-05 18:54:39
當輸入來自用戶(或代碼外部的任何東西)時,我還建議您使用Decimal.TryParse而不是.Parse。 – 2011-04-05 19:05:22
這不就是解析的重點:按照http://msdn.microsoft.com/en-us/library/91fwbcsb%28v=VS.90%29.aspx獲取NumberStyles.Currency嗎? – chris 2011-04-05 19:06:02