1. Java中判断字符串能否转为数值类型:
引言:
- 在控制台输入数据时,当我们需要把接收的String类型转化为数值类型,此时我们就需要判断该字符串能否转化为数字类型;这样做能避免数据格式化异常:NumberFormatException
- 代码演示:
public class Test{
public static void main(String [] args){
String value = "aa";
//利用int类型的包装类(Integer)中的parseInt()进行格式化;
//因此之前需要判断该value是否能转为数字类型
//如下三中方式:
Integer.parseInt(value); //运行时异常:NumberFormatException
}
}
1.1 方式一:正则表达式
/**
* 利用正则表达式
* @param str
* @return
*/
private static boolean isNumeric(String str) {
Pattern pattern = Pattern.compile("[0-9]*");
Matcher matcher = pattern.matcher(str);
boolean success = matcher.matches();
return success;
}
1.2 方式二:ASCII码
/**
* 利用ASCII码
* @param str
* @return
*/
public static boolean isNumeric(String str){
for(int i=str.length();i>=0;i--){
int chr=str.charAt(i);
if(chr<48 || chr>57)
return false;
}
return true;
}
1.3 方式三:Character.isDigit()(char包装类中的方法判定)
/**
* 利用Character.isDigit()
* @param str
* @return
*/
public static boolean isNumeric(String str) {
for(int i=str.length();i>0;i--) {
//调用封装类Character中的isDigit方法判断每个字符是否为数字
if(!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}
补充:
①字符串类型 --------> int类型
String value = “123”;
int number = Integer.parseInt(value);
②int类型 --------> 字符串类型
方式一:
int num = 111;
String valueOf = String.valueOf(num);
方式二:
String str = num + “”;(其它基本数据类型操作基本相似)
总结:
String 类型转化-------> 数值类型,利用基本数据类型的包装类进行实现(方法:parseXxx());
数值类型 --------> String ,利用String中的valueOf()方法进行实现 或 直接和空串进行连接;