2010-05-23 28 views
1

我想使一個文本框只接受數字,但不是整數,而是雙重。
我在這裏閱讀了關於e.Handled = Not Char.IsDigit(e.KeyChar)的書,它可以工作,但同樣它只能用於整數,因爲它會減小小數點。
我在這裏閱讀的另一件事是If Not Double.TryParse(TextBox2.Text, value) Then ....和它會正常工作,除了它只允許小數點逗號而不是點。我不知道是否因爲我的位置設置(匈牙利,我們使用逗號而不是點數),但我沒有任何其他想法解決我的問題,並且我發送數據的SQL服務器使用小數點。如何控制文本框類型在Visual Basic中加倍?

在此先感謝。

回答

3

通過CultureInfo.InvariantCultureTryParse

+0

謝謝,但我似乎無法真正做到。 我試圖按照VB給出的指導,我想出了這樣的事情:「如果不Double.TryParse(TextBox2.Text,風格:= NumberStyles.AllowDecimalPoint,提供者:= CultureInfo.InvariantCulture,結果:=值)」,但它仍將我的小數點轉換爲逗號。 :( 我做錯了什麼? – 2010-05-23 18:57:46

+0

如果你調用'ToString',你需要傳遞'CultureInfo.InvariantCulture'。它在哪裏轉換成逗號? – SLaks 2010-05-23 19:00:38

+1

OMG!你真棒!完美! 順便說一句,傳遞CultureInfo.InvariantCulture也toString是解決方案。:) – 2010-05-23 19:02:43