我现在正在将一小段PHP代码移植到java,并且我依赖于函数is_numeric($x)
来确定$x
是否是一个数字。在java中似乎没有一个等效的函数,我对目前找到的解决方案并不满意。
我倾向于在这里找到正则表达式解决方案:http://rosettacode.org/wiki/Determine_if_a_string_is_numeric
我应该使用哪种方法?为什么?
发布于 2010-08-18 05:45:42
请注意,PHP ()函数将正确地确定十六进制和科学记数法是数字,而您所链接的isNumeric方法不会。
一种选择,特别是如果您已经在使用Apache Commons库,就是使用Commons-Lang中的NumberUtils.isNumber()。它将处理与PHP函数相同的情况。
发布于 2010-08-18 05:44:31
你有没有考虑过使用StringUtils library?这里有一个isNumeric()函数,它可能就是您要找的。(请注意,"“的计算结果为true)
发布于 2010-08-18 05:41:11
在字符串中包含数字通常不是一个好主意。如果您想要使用这个数字,那么解析它并将其作为数字使用。你不需要“检查”它是否是一个数字,不管你想不想把它当作数字来使用。
如果您需要转换它,那么您可以使用从Integer.parseInt(String)
到BigDecimal(String)
的所有解析器
如果您只需要检查内容是否可以被视为数字,那么您可以使用正则表达式。
如果字符串可以包含浮点数,请不要使用parseInt。
https://stackoverflow.com/questions/3507162
复制相似问题