java判断数字类型(小数和整数)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java判断数字类型(小数和整数)相关的知识,希望对你有一定的参考价值。
参考技术Ajava判断数字类型是否为小数,可以采用正则表达式的方式来判断,以下是使用正则表达式来判断数字类型是否为小数的代码:
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次。例如,“o2,”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o1,”等价于“o+”。“o0,”则等价于“o*”。
参考资料:百度百科—正则表达式
java 判断整数还是小数
假设两种数据
1.00 和 1.23
请给出代码判断
如果整数部分外小数全部为零,
如果整数部分外小数不为零。
再小数string.matches("\\d+\\.\\d+")
如果要对string的1.00转int,还要用split分一下 参考技术A 直接对点进行分割(split),然后判断点后的内容大于0?等于0?还是为空呗。 参考技术B public class Test
public static void main(String[] args)
Scanner scanner=new Scanner(System.in);
double num=0.00;
try
System.out.println("请输入数字");
num=scanner.nextDouble();
catch (Exception e)
System.out.println("请输入正确的数字格式");
scanner.close();
return;
String numString=num+"";
int a=numString.indexOf(".");
String numAfter=numString.substring(a+1, numString.length());
char[] nums=numAfter.toCharArray();
for (int i = 0; i < nums.length; i++)
if (nums[i]!='0')
System.out.println(num+"不是整数");
scanner.close();
return;
System.out.println(num+"是整数");
scanner.close();
本回答被提问者采纳 参考技术C 亲,1.00不是整数哦。1.23和1.00都是浮点型数据哈。1或者100才是整数追问
意义上不是整数,但是我就是要判断小数里面是否全部为零
追答你是问判断的算法么?还是概念?
追问就是说 这两种小数,在JAVA中的判断
如果小数除整数部分外全部为零
或者小数除整数部分不为零。
判断的方式。
以上是关于java判断数字类型(小数和整数)的主要内容,如果未能解决你的问题,请参考以下文章
在java里怎么判断输入的东西是否数字和正整数?(请把详细的代码给我谢谢)