Java 用于检查字符串变量中的值是否为正数值的API方法

Java 用于检查字符串变量中的值是否为正数值的API方法,java,Java,我在java中有一个字符串变量 String strNum = "-90.29"; 除了regex,是否有任何API方法可用于检查strNum是否包含有效的正十进制值 有人可以帮忙吗?您可以使用Apaches commons.lang.math like(空安全): 你为什么不能把它转换成浮动和检查呢Float.parse(..)我认为没有。因为这看起来像是包含在任何API中的一项非常简单的任务。if(新的BigDecimal(strNum).compareTo(BigDecimal.ZERO

我在java中有一个字符串变量

String strNum = "-90.29";
除了
regex
,是否有任何API方法可用于检查
strNum
是否包含有效的正十进制值


有人可以帮忙吗?

您可以使用Apaches commons.lang.math like(空安全):


你为什么不能把它转换成浮动和检查呢Float.parse(..)我认为没有。因为这看起来像是包含在任何API中的一项非常简单的任务。
if(新的BigDecimal(strNum).compareTo(BigDecimal.ZERO)>0)
boolean isPositive=strNum.charAt(0)!='-'
如果(strNum.trim().startsWith(“-”)| |!strNum.trim().contains(“.”| | | strNum.chars().filter(num->num==”).count()!=1{//无效}否则{//有效}
strNum.trim()用(“-”)和
启动!strNum.trim()包含(“.”
是不言自明的。
strNum.chars()。没有使用正则表达式,但是使用正则表达式要容易得多。是否包含有效的正十进制值?
NumberUtils.toScaledBigDecimal(strNum).signum() == 1