2013-06-05 49 views
1

我從winform獲取用戶輸入。其中一個輸入是十進制。將字符串從輸入轉換爲十進制屬性

我應該將此值轉換爲十進制屬性。

我的文本框是txtPrice和財產是myArticle.Price,所以我想這樣的

myArticle.Price = decimal.Parse(txtPrice.ToString(), CultureInfo.InvariantCulture); 

和我得到的運行時異常

輸入字符串的不正確的格式。

+1

財產所有權以及使用'.Text'(如下文所述),你應該考慮使用'decimal.TryParse',並處理用戶輸入非數字值的場景(例如,向他們顯示錯誤消息)。 –

回答

9

我想你想.Text屬性txtPrice而不是.ToString()

+0

確定:)得到它,謝謝 – panjo

1

大多數人會建議的TryParse

if(decimal.TryParse(txtPrice.Text, out myArticle.Price)) 
{ 
    // your string was in the incorrect format 
} 
+0

在這種情況下,我如何使用Cultureinfo.InvariantCulture? – panjo

0

使用TextTextBox

myArticle.Price = decimal.Parse(txtPrice.Text, CultureInfo.InvariantCulture); 
相關問題