Java 将字符串拆分为"|&引用;得到一个总数
我有一个文件:Java 将字符串拆分为"|&引用;得到一个总数,java,regex,Java,Regex,我有一个文件: 2 | BATH BE | 19.00 20312 | ORAN | 1.42 04520 | BOIL | 1.78 20000 | AV | 0.98 2007 | C 312 | 1.78 0452 | ONIOT BOILR H | 2.98 2042009 | C | 0.98 我想提取数字(19.00,1.42,1.78…)并从中求和 这就是我所做的: public void checkTotal() { int total_pric
2 | BATH BE | 19.00 20312 | ORAN | 1.42 04520 | BOIL | 1.78 20000 | AV | 0.98 2007 | C 312 | 1.78 0452 | ONIOT BOILR H | 2.98 2042009 | C | 0.98
我想提取数字(19.00,1.42,1.78…)并从中求和
这就是我所做的:
public void checkTotal()
{
int total_price = 0;
File file = new File(ItemUPC.txt");
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
String[] line = sc.nextLine().split("[|]");
String price = line[2];
total_price = total_price + Integer.parseInt(price);
}
}
我得到的错误为:java.lang.NumberFormatException:对于输入字符串:“19.00”
它只提取看起来的第一个数字。
我想得到一个数字的和(19.00+1.42+0.98…同样)
知道我哪里出错了吗。谢谢:)试试总价=总价+Double.parseDouble(价格) 整数中没有小数点。作为一个答案,Andy post似乎是正确的
19.0020312
既不是int
也不是double
。您需要在\s+
上进一步拆分它,然后使用Double.parseDouble
解析第一部分。但是,您可以使用Integer.parseInt
解析第二部分。