如何用正则表达式判断一个变量是否为double类型
将变量值转换为字符串,然后判断字符串是否符合下面的正则[0-9]*(\.[0-9]*|[eE][+-][0-9]*)$
1、用正则表达式判断变量为double类型,程序代码java">public static booleisDouble(String str) {Pattern pattern = Pattern.compile("^[-//+]?//d+(//.//d*)?|//.//d+$");return pattern.matcher(str).matches();
2、如果不用正则表达式,下面的函数也可以判断变量是否为double类java">public static boolean isDouble(String str){try{
Double.parseDouble(str);
return true;catch(NumberFormatException ex){return false天云一号 2016-10-20
3、用正则表达式判断变量为double类型,程序static boolean isDouble(String str) {
Pattern pattern = Pattern.compile("^[-//+]?//d+(//.//d*)?|//.//d+$");
return pattern.matcher(str).matches();
如果不用正则表达式,下面的函数也可以判断变量是否为double类型
static boolean isDouble(String str){
try{
Double.parseDouble(str);
return true;
catch(NumberFormatException ex){
return false;
正则是基于字符串的文法规则,变量类型则是在内存中的存储的格式,两者概念不同。
若想问的是,如何判断某变量的数值是否是 double 类型,C 语言中,
C 标准规定double 类型的整数部分的最小表示范围和 float 一样,都是 1.0E-37 到 1.0E+37,但是它要求 double 类型的小数部分至少要能精确到小数点后 6 位。double 通常是 64 位的。
例如 1 不是 double,2.333333 是 double。那么,对应的正则表达式是
[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?
用正则表达式判断变量为double类型,程序代码如下:
public static boolean isDouble(String str) {
Pattern pattern = Pattern.compile("^[-//+]?//d+(//.//d*)?|//.//d+$");
return pattern.matcher(str).matches();
}
如果不用正则表达式,下面的函数也可以判断变量是否为double类型
public static boolean isDouble(String str){
try{
Double.parseDouble(str);
return true;
}
catch(NumberFormatException ex){
return false;
}
}
static boolean isDouble(String str) {
Pattern pattern = Pattern.compile("^[-//+]?//d+(//.//d*)?|//.//d+$");
return pattern.matcher(str).matches();
}
如果不用正则表达式,下面的函数也可以判断变量是否为double类型
static boolean isDouble(String str){
try{
Double.parseDouble(str);
return true;
}
catch(NumberFormatException ex){
return false;
}
}