如何检查并查看数字是否包含小数?

时间:2014-03-29 07:47:17

标签: c#

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

我怎样才能测试这个数字,看它是否包含小数?

感谢您的帮助。

3 个答案:

答案 0 :(得分:7)

听起来你实际上想要测试字符串是否已经包含小数点 - 而不是数字

假设您没有尝试将其国际化,您可能只想:

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 :(得分:0)

将输入更改为字符串,然后使用

进行检查
String s1="20.12"
b = s1.Contains(".");

如果存在则返回true

答案 2 :(得分:0)

您可以使用Decimal.TryParse方法

decimal number;
if(Decimal.TryParse(numberTextBox.Text, out number))
{
 //append decimal point to the entered text
}
else
{
 //do nothing
}

请参阅此答案:https://stackoverflow.com/a/18449419/419556

相关问题