一尘不染

如何检查字符串是否为数字?

c#

我想在C#上知道如何检查字符串是否是数字(仅仅是数字)。

范例:

141241   Yes
232a23   No
12412a   No

等等…

有特定功能吗?


阅读 241

收藏
2020-05-19

共1个答案

一尘不染

查一查double.TryParse(),如果你在谈论相同的数字1-23.14159。其他人建议int.TryParse(),但十进制会失败。

double num;
string candidate = "1";
if (double.TryParse(candidate, out num))
{
    // It's a number!
}

编辑:正如卢卡斯指出的那样,在使用十进制分隔符解析数字时,我们应该注意线程的文化,即这样做是安全的:

double.TryParse(candidate, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out num)

2020-05-19