我正试图创建一个非常基本的计算器应用程序。我遇到小数点问题。我对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评论线程。 –