判断一个输入是数字(小数和整数)还是字符串?

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]);