首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >java最优雅的isNumeric()解决方案

java最优雅的isNumeric()解决方案
EN

Stack Overflow用户
提问于 2010-08-18 05:35:13
回答 6查看 39K关注 0票数 16

我现在正在将一小段PHP代码移植到java,并且我依赖于函数is_numeric($x)来确定$x是否是一个数字。在java中似乎没有一个等效的函数,我对目前找到的解决方案并不满意。

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

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

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-08-18 05:45:42

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

一种选择,特别是如果您已经在使用Apache Commons库,就是使用Commons-Lang中的NumberUtils.isNumber()。它将处理与PHP函数相同的情况。

票数 16
EN

Stack Overflow用户

发布于 2010-08-18 05:44:31

你有没有考虑过使用StringUtils library?这里有一个isNumeric()函数,它可能就是您要找的。(请注意,"“的计算结果为true)

票数 4
EN

Stack Overflow用户

发布于 2010-08-18 05:41:11

在字符串中包含数字通常不是一个好主意。如果您想要使用这个数字,那么解析它并将其作为数字使用。你不需要“检查”它是否是一个数字,不管你想不想把它当作数字来使用。

如果您需要转换它,那么您可以使用从Integer.parseInt(String)BigDecimal(String)的所有解析器

如果您只需要检查内容是否可以被视为数字,那么您可以使用正则表达式。

如果字符串可以包含浮点数,请不要使用parseInt。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3507162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档