字符串能否转数字
能否转成数字(int、long、float、double)
public static boolean isConvertToFloatOrDouble(String str) {
// 0.0023|123.00|2334
// Pattern pattern = Pattern.compile("^[-\\+]?(([1-9]+0?\\.)|(0\\.))?\\d+$");
// 0.00 | 000.12| 234
Pattern pattern = Pattern.compile("^[-\\+]?\\d+(\\.[\\d]+)?$");
return pattern.matcher(str).matches();
}
能否转成整数(int、long)
public static boolean isConvertToInteger(String str) {
Pattern pattern = Pattern.compile("^[-\\+]?\\d+$");
return pattern.matcher(str).matches();
}
适用于0 | 0000 | 123
这种格式
判断是否是整数
number % 1 == 0 ? true : false
不管是整数还是浮点数,如果余数不等于0,那么它就是一个小数。
判断整数是否是偶数
return (number & 1) == 0
如果(number & 1) == 0,那么它偶数,反之则是奇数,number必须是整数,因为浮点数在位操作时,编译会报错。
判断一个整数是负数还是正数
public static int isPositive(int a){
int i = a >> 31;
return i == 0 ? true : false;
}
如果a是正数,那么a >> 31等于0,否则等于-1。
整型类型取绝对值
public static int getAbs(int a){
int i = a >> 31;
return i == 0 ? a : (~a + 1);
}
如果是负整数,那么对其取反+1就是该值对应的绝对值。