Java 如何将包含$sing的字符串转换为int

Java 如何将包含$sing的字符串转换为int,java,selenium,automation,Java,Selenium,Automation,我有一个字符串“$1076.00”,我想把它们转换成int, 我捕获了一些价值$1076.00并保存在名为originalAmount的字符串中, 并尝试int edited=Integer.parseInt(originalAmount);它给了我错误java.lang.NumberFormatException:对于输入字符串:“$1076.00” 有人能帮忙吗?您需要删除不需要的部分($sign),然后仔细分析字符串,使其加倍,因为小数部分取决于语言环境 String pay = "$1,

我有一个字符串“$1076.00”,我想把它们转换成int, 我捕获了一些价值$1076.00并保存在名为originalAmount的字符串中, 并尝试int edited=Integer.parseInt(originalAmount);它给了我错误java.lang.NumberFormatException:对于输入字符串:“$1076.00”


有人能帮忙吗?

您需要删除不需要的部分($sign),然后仔细分析字符串,使其加倍,因为小数部分取决于语言环境

String pay = "$1,076.00";
NumberFormat format = NumberFormat.getInstance(Locale.FRANCE);
Number number = format.parse(pay.replace("$", ""));
double result = number.doubleValue();
System.out.println(result);
试试这个:

 String amount = "$1,076,.00";
 String formatted = amount.replace("$", ""); // remove "$" sign
 formatted = formatted.replace(",", ""); // remove "," signs from number

 double amountDouble = Double.parseDouble(formatted); // convert to double
 int amountInt = (int)amountDouble; // convert double value to int
 System.out.println(amountInt); // prints out 1076

谢谢大家,你的回答帮了我很多 我想出了一个好主意

originalAmount=originalAmount.子串(1)


请让我知道您的想法

删除不需要的部分,然后将字符串解析为Double您有一个非数字表达式。您应该从表达式中删除$,因为您操作了双精度值,所以应该将字符串解析为双精度值。如果金额是
$1122.33
,那么输出应该是什么,因为
int
将无法存储
.33
@Pavneet_Singh,我只选择int值进行输入,并且在我获取值并保存在字符串中,它将始终返回.00尝试此
int d=Integer.valueOf($1076.00).replaceAll(\\.0++[^\\d]+,“”)
string sourceString = "$1,076.00";
sourceString.substring(1, sourceString.length() - 1)
int foo = Integer.parseInt(sourceString);
 String amount = "$1,076,.00";
 String formatted = amount.replace("$", ""); // remove "$" sign
 formatted = formatted.replace(",", ""); // remove "," signs from number

 double amountDouble = Double.parseDouble(formatted); // convert to double
 int amountInt = (int)amountDouble; // convert double value to int
 System.out.println(amountInt); // prints out 1076
    if (originalAmount.contains("$")) {
        originalAmount = originalAmount.replace("$", "");
    }

    newOriginalAmt = Double.parseDouble(originalAmount);
    System.out.println(newOriginalAmt);