如何检查和查看一个数字是否包含小数

本文关键字:一个 数字 是否 小数 包含 检查和 | 更新日期: 2023-09-27 17:54:58

我正在尝试创建一个非常基本的计算器应用程序。我遇到了一个关于小数的问题。我对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,检测你应该在按钮上显示什么,检查它是否已经存在,以及之后要添加什么。这也会影响最终解析数字的方式。

您可以使用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

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

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

如果存在则返回true