【发布时间】:2018-06-24 16:35:20
【问题描述】:
我写了一个方法,它接受一个字符串,如果它是一个有效的单个整数或浮点数,则返回 true,否则返回 false。
我的代码:
public static boolean isDigit(String s)
{
boolean b;
try
{
Integer.parseInt(s);
b = true;
}
catch (NumberFormatException e)
{
b = false;
}
try
{
Double.parseDouble(s);
b = true;
}
catch (NumberFormatException e)
{
b = false;
}
return b;
}
我相信有更好的写法。谢谢
【问题讨论】:
-
你只想要个位数?
-
您可以从删除方法的前半部分开始,因为您不会对它计算的布尔值做任何事情。
-
如果您不必自己写,我建议使用 lib:stackoverflow.com/questions/1102891/…
-
如果你使用 Guava,
return Doubles.tryParse(s) != null;