数字转换及其常用操作

字符串能否转数字

能否转成数字(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就是该值对应的绝对值。

转载于:https://my.oschina.net/51stick/blog/670019

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值