最优雅的是java的数字()解决方案

Dou*_*oug 16 java parsing isnumeric

我现在正在将一小段PHP代码移植到java,我依靠函数is_numeric($x)来确定是否$x是数字.在java中似乎没有相同的功能,我对目前为止找到的解决方案不满意.

我倾向于这里找到的正则表达式解决方案:http://rosettacode.org/wiki/Determine_if_a_string_is_numeric

我应该使用哪种方法?为什么?

Jac*_*son 16

请注意,PHP isNumeric()函数将正确地确定十六进制和科学记数法是数字,您链接的正则表达式方法不会.

一个选项,特别是如果您已经在使用Apache Commons库,则使用来自Commons-Lang的NumberUtils.isNumber().它将处理PHP函数将处理的相同情况.

  • @Doug Commons lang几乎存在于每个java程序中,它有很多方面帮助*所以.下载并将其添加到您的类路径中,您会很高兴 (3认同)
  • 当你只需要一小部分时,决定添加一个库是否合理总是很棘手.但是,如果你研究一下,你可能会发现Apache Commons Lang可以为你提供其他你可以使用的东西 - 它基本上是"应该内置到Java中的东西,但不是".我强烈推荐The Common Java Cookbook(http://www.discursive.com/books/cjcook/reference/book-cjcook.html),它提供了很多使用Apache库的技巧. (2认同)