代碼如下:
package test; import java.util.regex.Pattern; /** * 判斷字符串是否是double數(實數) * */ public class Test9 { public static void main(String[] args) { String[] arr= {"3.14","-5.0","+5","123","0","-0.0001","0001","0.0000","0.0a","-b.00","985","3.1415982","14000000000","3.14.14","192.168.1.1"}; for(String s:arr) { String rt=isDouble(s)?"是":"不是"; System.out.println(s+""+rt+"double數"); } } public static boolean isDouble(String s) { Pattern pattern = Pattern.compile("[+-]?\\d+(.\\d+)?"); return pattern.matcher(s).matches(); } }
輸出:
3.14是double數 -5.0是double數 +5是double數 123是double數 0是double數 -0.0001是double數 0001是double數 0.0000是double數 0.0a不是double數 -b.00不是double數 985是double數 3.1415982是double數 14000000000是double數 3.14.14不是double數 192.168.1.1不是double數
END