java判断数字类型(小数和整数)

Python013

java判断数字类型(小数和整数),第1张

java判断数字类型是否为小数,可以采用正则表达式的方式来判断,以下是使用正则表达式来判断数字类型是否为小数的代码:

public static boolean isNumber(String str) {

boolean isInt = Pattern.compile("^-?[1-9]\\d*$").matcher(str).find()

boolean isDouble = Pattern.compile("^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$").matcher(str).find()

return isInt || isDouble

}

 扩展资料

java判断数字类型,正则表达式用法:

1、$:匹配输入行尾。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。

2、*:匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。

3、+:匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。

4、?:匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等价于{0,1}。

5、{n,}:n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。

参考资料:百度百科—正则表达式

可以转化成String,然后判断里面有没有小数点,如果有,就是小数,没有就不是小数。

public class JudgeNumber {

   public static boolean judgeIsDecimal(String num){

boolean isdecimal = false

if (num.contains(".")) {

 isdecimal=true

 

}

return isdecimal

}

public static void main(String[] args) {  //测试的main方法

int num1 = 34

double num2=67.8

boolean is1 = judgeIsDecimal(String.valueOf(num1))

boolean is2=judgeIsDecimal(String.valueOf(num2))

System.out.println(is1)//fasle

System.out.println(is2)//true

}

}

先判断整数:string.matches("\\d+")||string.matches("\\d+\\.0+")

再小数string.matches("\\d+\\.\\d+")

如果要对string的1.00转int,还要用split分一下