2014-03-29 84 views
0

我正试图创建一个非常基本的计算器应用程序。我遇到小数点问题。我对C#很新,所以我不知道该怎么做。当我点击我的计算器中的小数点按钮时,我希望它检查文本框中的数字,看看它是否已经有小数。如果是这样,那就什么也不做。如果它还没有小数,则将小数附加到数字上。基本上我想让用户不能在一个操作数中输入一个以上的小数。如何检查并查看数字是否包含小数?

我该如何去测试这个数字,看它是否包含小数?

谢谢你的帮助。

回答

5

那么它听起来像你真正想要测试是否已经包含了一个小数点 - 不是

假设你不是要国际化这一点,你可能只是想:

if (textBox.Text.Contains(".")) 
{ 
    // We've already got a decimal point; skip this input however you want 
} 

(注意这两个...Contains('.')...Contains(".")会工作,但前者使用LINQ不必要的,所以我改为后者。)

如果要国际化,你想使用Culture.CurrentCulture.NumberFormat.NumberDecimalSeparator,来检测你应该在按钮上显示什么,以检查它是否是已经存在的,什么事后补充。这一切都会影响你最终解析数字的方式。

+1

你怎么知道语言的所有这些内部?好的,你是C#深入的作者,但是如何? –

+0

@AmitJoki:花了很多时间使用语言和阅读规范,真的... –

+1

@AmitJoki:是的,但我恐怕这种事情真的不适合SO评论线程。 –

0

改变输入字符串,然后检查使用

String s1="20.12" 
b = s1.Contains("."); 

,它将返回true,如果它存在

相关问题