String str="33 and P090204 my salary is ¥8400.4 ";
提取所有数值进行相加33+90204+8400.4=98637.4返回。
这个程序怎么写?我用 str.sprit("^\\d+$");
这样截取了一个 String[] 的数组 但是 数字都合到一起了 怎么相加呢?
提取所有数值进行相加33+90204+8400.4=98637.4返回。
这个程序怎么写?我用 str.sprit("^\\d+$");
这样截取了一个 String[] 的数组 但是 数字都合到一起了 怎么相加呢?
解决方案 »
- java 栈内存,堆内存,方法区,常量池,静态去到底有什么关联, 方法区,常量池,静态区又存在哪里啊,栈中,还是另外的一块空间?
- 用Java如何导入导出txt、Excel、doc、xml文件
- 线程中run()怎么不运行?
- 一个javascript小问题
- 新手的问题---jsp中 ajax不能正确读取xml。
- System.exit(0),System.exit(1),System.exit(2)...里的0、1、2是什么意思呀
- java 查询mysql数据库问题???
- 请各位大虾指教呀!!!!!!(一定给分)
- LinkedList.poll() 问题
- 构造函数是在解析还是初始化阶段执行??
- 如何往swt中添加透明的图片
- ClassNotFoundError问题
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));
}
}
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