判断一个输入是数字(小数和整数)还是字符串?
public class Test1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入数值:");
String s = input.next();
if (s != null && s.matches("^[0.0-9.0]+$")) {// [0-9]没办法识别小数,[0.0-9.0]可以识别小数和整数
System.out.println("输入是数字!");
double num = Double.parseDouble(s);
System.out.println(num);
} else {
System.out.println("输入值为字符!");
}
}
}
判断一个输入是字符串是整数还是小数?获取整数部分(已知: 是一个数字的字符串,可能是整数或小数)
如 3.6
通过字符串判断,其中是否有 "."
如果有,通过splite 分割, 然后将整数部分,转换为 int。
没有,就是一个整数数字。
根据小数点"." 来分割整数部分与小数部分。
System.out.println("5.6".split("\\.")[0]);
System.out.println("6".split("\\.")[0]);
String num2 = "4.3";
String [] str2 = num2.split("\\.") ;
System.out.println(str2[0]);
String num1 = "3";
String []str1 = num1.split("\\.") ;
System.out.println( str1[0]);