String str = "1234.82";double d = Double.valueOf(str).doubleValue();这样没有错误的话就差不多了吧

解决方案 »

  1.   

    try {
            String str = "17s8.1";
            double i = Double.parseDouble(str);
            System.out.println(i);//是数字
        } catch (java.lang.NumberFormatException e) {
            e.printStackTrace();//不是数字
        } 
      

  2.   

    如果楼主的意思是判断这个字符串是否是一个合法的数字表达,那么可以用parseDouble,
    否则,用parseDouble达不到楼主的目的,比如字符串"1e1",就会得到10,而不会抛出异常唯一的方法(我知道的)就是逐个判断,boolean isAllDigit(String s){
    for(int i = 0; i < s.length(); i++) {
      char c = s.charAt(i);
      if(c>9 || c<0) return false;
    }return true;
    }
      

  3.   

    带小数点的
    string.matches("[0-9]+[.]?[0-9]*");1.4以上有matches方法。
      

  4.   

    搞定了
    public boolean isNumeric() {
        String s = this.getInvoiceCode().trim();
        for (int i = 0; i < s.length(); i++) {
          char c = s.charAt(i);
          if (!Character.isDigit(c)) {
            return false;
          }
        }
        return true;
      }
      

  5.   

    这你就算搞顶了。 连小数都是false把?
      

  6.   

    喷血!
    建议楼主看看toplchx(靠谱) 的regular expression.