代码如下:

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