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