1. 程式人生 > >java中 有哪些方法可以判斷物件是否為整數

java中 有哪些方法可以判斷物件是否為整數

// 方法一:用JAVA自帶的函式
    /**
     *
     * @Description: 用JAVA自帶的函式
     *
     * @param str
     * @return
     * @return: boolean
     * @Author: qinyangkai
     * @Date: 2017/09/20
     * @Version: 0.0.1
     */
    public static boolean isOne(String str) {
        for (int i = str.length(); --i >= 0;) {
            if (!Character.isDigit(str.charAt(i))) {
                return false;
            }
        }
        return true;
    }

    // 方法二:
    /**
     *
     * @Description: 判斷是否為整數
     *
     * @param str
     * @return
     * @return: boolean
     * @Author: qinyangkai
     * @Date: 2017/09/20
     * @Version: 0.0.1
     */
    public static boolean isTwo(String str) {
        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
        return pattern.matcher(str).matches();
    }

    // 方法三:
    /**
     *
     * @Description:
     *
     * @param str
     * @return
     * @return: boolean
     * @Author: qinyangkai
     * @Date: 2017/09/20
     * @Version: 0.0.1
     */
    public static boolean isNumeric(String str) {
        Pattern pattern = Pattern.compile("[0-9]*");
        return pattern.matcher(str).matches();
    }

    // 方法四:
    /**
     *
     * @Description:
     *
     * @param s
     * @return
     * @return: boolean
     * @Author: qinyangkai
     * @Date: 2017/09/20
     * @Version: 0.0.1
     */
    public final static boolean isNumeric(String s) {
        if (s != null && !"".equals(s.trim()))
            return s.matches("^[0-9]*$");
        else
            return false;
    }

    // 方法五:用ascii碼
    /**
     *
     * @Description:
     *
     * @param str
     * @return
     * @return: boolean
     * @Author: qinyangkai
     * @Date: 2017/09/20
     * @Version: 0.0.1
     */
    public static boolean isNumeric(String str) {
        for (int i = str.length(); --i >= 0;) {
            int chr = str.charAt(i);
            if (chr < 48 || chr > 57)
                return false;
        }
        return true;
    }

// 方法六:

/**
     *
     * @Description: 判斷double是否是整數
     *
     * @param obj
     * @return
     * @return: boolean
     * @Author: qinyangkai
     * @Date: 2018/09/20
     * @Version: 0.0.1
     */
    public static boolean isIntegerForDouble(double obj) {      
        double eps = 1e-10;  
        // 精度範圍      
        return obj-Math.floor(obj) < eps;  
    }