我正試圖創建一個非常基本的計算器應用程序。我遇到小數點問題。我對C#很新,所以我不知道該怎麼做。當我點擊我的計算器中的小數點按鈕時,我希望它檢查文本框中的數字,看看它是否已經有小數。如果是這樣,那就什麼也不做。如果它還沒有小數,則將小數附加到數字上。基本上我想讓用戶不能在一個操作數中輸入一個以上的小數。如何檢查並查看數字是否包含小數?
我該如何去測試這個數字,看它是否包含小數?
謝謝你的幫助。
我正試圖創建一個非常基本的計算器應用程序。我遇到小數點問題。我對C#很新,所以我不知道該怎麼做。當我點擊我的計算器中的小數點按鈕時,我希望它檢查文本框中的數字,看看它是否已經有小數。如果是這樣,那就什麼也不做。如果它還沒有小數,則將小數附加到數字上。基本上我想讓用戶不能在一個操作數中輸入一個以上的小數。如何檢查並查看數字是否包含小數?
我該如何去測試這個數字,看它是否包含小數?
謝謝你的幫助。
那麼它聽起來像你真正想要測試串是否已經包含了一個小數點 - 不是數。
假設你不是要國際化這一點,你可能只是想:
if (textBox.Text.Contains("."))
{
// We've already got a decimal point; skip this input however you want
}
(注意這兩個...Contains('.')
和...Contains(".")
會工作,但前者使用LINQ不必要的,所以我改爲後者。)
如果做要國際化,你想使用Culture.CurrentCulture.NumberFormat.NumberDecimalSeparator
,來檢測你應該在按鈕上顯示什麼,以檢查它是否是已經存在的,什麼事後補充。這一切都會影響你最終解析數字的方式。
改變輸入字符串,然後檢查使用
String s1="20.12"
b = s1.Contains(".");
,它將返回true,如果它存在
你可以利用Decimal.TryParse方法
decimal number;
if(Decimal.TryParse(numberTextBox.Text, out number))
{
//append decimal point to the entered text
}
else
{
//do nothing
}
你怎麼知道語言的所有這些內部?好的,你是C#深入的作者,但是如何? –
@AmitJoki:花了很多時間使用語言和閱讀規範,真的... –
@AmitJoki:是的,但我恐怕這種事情真的不適合SO評論線程。 –