我有一个字符串/值 "2.450,00
。我想从中获取Integer值。为此,我需要删除"
前面的2
。
尝试以下代码段。使用子字符串方法删除“
public static void main(String[] args) {
String str = "\"2.450,00";
// prints the substring after index 1 till str length
String substr = str.substring(1);
System.out.println("substring = " + substr);
}
首先要删除逗号和小数,因为int(Integer)是整数。
str = str.split(",")[0];
这将在“,”上分割字符串,并获取包含字符串“ 2.450”的第一个索引。然后,您要删除标点符号。这可以通过用空格“”替换不是数字的所有内容来完成。
str = str.replaceAll("[^0-9]", "");
最后,您要将字符串转换为整数。
int strAsInt = Integer.parseInt(str);
完整代码:
public static void main(String[] args) {
// The initial value
String str = "2.450,00";
str = str.split(",")[0];
str = str.replaceAll("[^0-9]", "");
int strAsInt = Integer.parseInt(str);
// This will print the integer value 2450
System.out.println(strAsInt);
}
一个班轮:
int stringAsInt = Integer.parseInt(str.split(",")[0].replaceAll("[^0-9]", ""));
首先,您需要从输入字符串中删除任何非数字字符(('.'
和','
字符除外)] >>,正则表达式"[^\\d\\,\\.]"
可以帮助您解决此问题:
final String inputString = "Total: 100.000,05$"; final String numberString = inputString.replaceAll("[^\\d\\,\\.]", "");
下一步是将数字字符串格式化为有效的
double
格式。在此步骤中,您需要将'.'
替换为一个空字符串,并将','
替换为一个点'.'
。
final String formattedNumberString = numberString .replace(".","") .replace(',', '.');
最后,您终于可以解析一个有效的数字:
double inputNumber = Double.parseDouble(formattedNumberString);
((1)从字符串中删除双引号