字符串是数字吗?

-2 c#

我有简单的函数检查字符串是否是数字。突然我发现它不能与“0”或“00”一起使用。请告诉我为什么!以及如何让它发挥作用?

string num = "00";
Int32.TryParse(num, out int n);
if (n > 0) return true; // It works nice on any digits except 0 and 00.
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

double.TryParse(num, out double n);
Run Code Online (Sandbox Code Playgroud)

但也不要工作。

所以我就这样去了:

if ((n > 0) | (num == "0") | (num == "00")) return true;
Run Code Online (Sandbox Code Playgroud)

kni*_*ttl 7

当然0不大于0,你期望什么?:)

int.TryParse返回一个布尔值,让您知道解析数字是否成功:

退货

布尔值

true如果s转换成功;否则,false

所以你应该做的是:

return int.TryParse(num, out int _);
Run Code Online (Sandbox Code Playgroud)