java如何提取字符串中的数字,既有整数又有浮点数,并计算和?

给出一段字符:房租:2189元 水费:112.9元 电费:569元 物业费:832元,计算总金额

按照你的要求提取数字并计算和的Java程序如下(用正则表达式提取数字)

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class A {

 public static void main(String[] args) {

  String s="房租:2189元 水费:112.9元 电费:569元 物业费:832元";

  String regex="[0-9]+(
\\.[0-9
]+)?";

  float sum=0;

  Pattern p = Pattern.compile(regex);

  Matcher m = p.matcher(s);

  while(m.find()){

   sum=sum+Float.parseFloat(m.group());

  }

  System.out.println("总金额为:"+sum);

 }

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-04-02
public static void main(String[] args) {
    String str0 = "2189";
    String str1 = "112.9";
    String str2 = "569";
    String str3 = "823";

    double sum = Integer.parseInt(str0) + Double.parseDouble(str1)
+ Integer.parseInt(str2) + Integer.parseInt(str3);
    System.out.println(sum);
}

java中的小数,如何分别输出整数部分和小数部分?
1、float a = 1.2f 2、String s = String.valueOf(a)3、String[] ss = s.split(".")4、System.out.println("整数部分:"+ ss[0])System.out.println("小数部分:"+ ss[1])private String[] divide(double num){ \/\/把一个浮点数强制类型转换为long型,既得到它的整数部分 long zheng...

java语言,程序从终端读入一个浮点数,然后分别输出它的整数部分和小数部...
package chn1;import java.util.Scanner;public class DoubleToInt { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);System.out.println("请输入一个浮点数:");double d = scanner.nextDouble();String string = Double.toString(d);System.out.println(str...

用java语言编写一个程序,接受用户输入的一个浮点数,把它的整数部分输出...
import javax.swing.JOptionPane;public class Test { public static void main(String[] args) { String input = JOptionPane.showInputDialog("请输入一个double类型数字:");double input2 = Double.parseDouble(input);JOptionPane.showMessageDialog(null, "整数部分为: " + (int)input2, "结果"...

已知浮点数,用Java编程序实现分别输出整数部分和小数部分?
不就是:double aa=34456.234545;int bb=(int)aa;\/\/得到整数部分(强制转换)double cc=aa-bb;\/\/不就得到小数了吗?那aa不就是整数部分了吗?

用java编写一个程序,接受用户输入的一个浮点数,把它的整数部分和小数部...
import java.util.Scanner;public class FloatAndInt { public static void main(String[] args){ float f = 0f;Scanner sc = new Scanner(System.in);System.out.println("请输入浮点型数字:");try{ f = sc.nextFloat();System.out.println("整数部分:" + (int)f);System.out.println(...

Java中给定一个浮点数,输出该数的整数部分与小数部分。大致有几种方法...
说说我知道的两种:1。float a = 3.14;System.out.println("整数部分: "+(int)a);System.out.println("小数部分: "+a%1)2。将浮点数转成字符串,然后用.分割字符串,第一部分是整数,第二部分是小数。

java程序编写"输入三个浮点数,计算这三个数的总和并输出"
import java.util.Scanner;public class $ { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("输入第一个数:"); double a = in.nextDouble(); System.out.print("输入第二个数:"); double b = in.nextDouble(); ...

Java中怎么把浮点数转变成整数只保留整数部分
float a = 1.1f;\/\/定义一个浮点变量a String str = String.valueOf(a);\/\/浮点变量a转换为字符串str int idx = str.lastIndexOf(".");\/\/查找小数点的位置 String strNum = str.substring(0,idx);\/\/截取从字符串开始到小数点位置的字符串,就是整数部分 int num = Integer.valueOf(str...

java怎样判断一个字符串是否为整数和浮点数?
boolean isInt(String str){ try { int i = Integer.parseInt(str) ;System.out.println("你输入的整数是"+ i) ;return true ;} catch (NumberFormatException e) { System.out.println("你输入的不是整数。。。可能是浮点数") ;return false ;} \/\/有什么不懂会是新要求 baidu hi我 ...

请教关于java中读取双精度浮点数的问题
用Scanner类就行了,需要导入 如果输入非数字或两个小数点 会产生异常 自己处理吧 import java.util.Scanner;public class Test { public static void main(String[] args){ Scanner s=new Scanner(System.in);double d=Double.valueOf(s.nextLine());System.out.println(d);} } ...

相似回答