如何在Java中将字符串值转换为Double或Int值?

问题描述 投票:-2回答:3

我有问题。我的String的值为"$615.00",我想将其转换为doubleint。我尝试了以下代码,但是有错误:

String one = "$615.00";
String two = "$15.00";
double newone = Double.parseDouble( one );
double newtwo = Double.parseDouble( two );

System.out.println(newone-newtwo);

错误是

Exception in thread "main" java.lang.NumberFormatException: For input string: "$615.00"

但是我为方法添加了NumberFormatException,但仍然出现错误。

java string parsing double
3个回答
0
投票

使用正则表达式删除“ $”之类的符号(换句话说,除去数字和点之外的所有符号)

String one = "$615.03";
String oneValue = one.replaceAll("[^0-9.]", "");
System.out.println(oneValue); // Output is 615.03, which is correctly parsed by parseDobule()

0
投票

正如其他人在评论中说的那样,发生NumberFormatException的原因是您试图在不从数字中删除$的情况下解析Double。

在这种情况下,您可以使用substring()获取第一个字符之后的所有内容:

String one = "$615.00";
String two = "$15.00";

double newone = Double.parseDouble( one.substring(1) );
double newtwo = Double.parseDouble( two.substring(1) );

System.out.println(newone-newtwo);

600.00结果


0
投票

删除货币符号

© www.soinside.com 2019 - 2024. All rights reserved.