如何在C#中检查字符串是否为数字?(IsNumeric 替代方法)
大家好,同事们!我是一名C#初学者,遇到了一个典型问题:需要检查用户输入的字符串是否包含数字,而不是一些垃圾内容。例如,用户在文本框中输入年龄,在将其保存为 int 之前,我想确保它不是“二十”或“abc123”。
我曾尝试在 try-catch 中使用 Convert.ToInt32(),但这看起来笨重,而且我觉得性能不太好。此外,我需要区分整数和浮点数。C#中是否有内置的类似于 VB.NET 中 IsNumeric 函数的替代方法,或者某种优雅的方式来实现这一点?
以下是我目前尝试解决问题的方式:
string userInput = "123.45";
try
{
int number = Convert.ToInt32(userInput);
Console.WriteLine("这是一个整数");
}
catch (FormatException)
{
// 尝试检查是否为 double
try
{
double doubleNumber = Convert.ToDouble(userInput);
Console.WriteLine("这是一个浮点数");
}