String str="33 and  P090204 my salary is ¥8400.4 "; 
提取所有数值进行相加33+90204+8400.4=98637.4返回。 
这个程序怎么写?我用 str.sprit("^\\d+$");
这样截取了一个 String[] 的数组 但是 数字都合到一起了 怎么相加呢?

解决方案 »

  1.   

    用Double.parseDouble(),转成double类型,再相加.
      

  2.   

    public class Test{
    public static double getValue(String str){
    String[] strs=str.split("\\D+");
    double sum=0;
    for(int i=0;i<strs.length;i++){
    System.out.println(strs[i]);
    sum+=Double.parseDouble(strs[i]);
    }
    return sum;
    }
    public static void main(String[] args){
    String str="33 and  P090204 my salary is ¥8400.4 "; System.out.println(getValue(str));
    }
    }
      

  3.   

    String[] strs=str.split("\\D+\\.?\\D+");
      

  4.   

    public class Test{
    public static double getValue(String str){
    String[] strs=str.split("\\D+\\.?\\D+");
    double sum=0;
    for(int i=0;i<strs.length;i++){
    System.out.println(strs[i]);
    sum+=Double.parseDouble(strs[i]);
    }
    return sum;
    }
    public static void main(String[] args){
    String str="33 and  P090204 my salary is ¥8400.4 "; System.out.println(getValue(str));
    }
    }D:\javafile>java Test
    33
    090204
    8400.4
    98637.4