如何用正则表达式判断一个变量是否为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;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-07

正则是基于字符串的文法规则,变量类型则是在内存中的存储的格式,两者概念不同。


若想问的是,如何判断某变量的数值是否是 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]+)?

第2个回答  2016-10-20

  用正则表达式判断变量为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;
    }
}

第3个回答  2016-08-21
就是判断 是否是数字 是否有小数点呗 是数字 有小数点 就是double类型了
第4个回答  2016-11-23
用正则表达式判断变量为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;
}
}