Java 如何将包含$sing的字符串转换为int
我有一个字符串“$1076.00”,我想把它们转换成int, 我捕获了一些价值$1076.00并保存在名为originalAmount的字符串中, 并尝试int edited=Integer.parseInt(originalAmount);它给了我错误java.lang.NumberFormatException:对于输入字符串:“$1076.00”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,
有人能帮忙吗?您需要删除不需要的部分($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);