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;
}