【发布时间】:2020-08-24 21:40:56
【问题描述】:
我有一个字符串/值 "2.450,00。我想从中获取 Integer 值。为此,我需要删除2 前面的"。
【问题讨论】:
-
str.replace("\"",""); 不适合你?
标签: java android string replace double-quotes
我有一个字符串/值 "2.450,00。我想从中获取 Integer 值。为此,我需要删除2 前面的"。
【问题讨论】:
标签: java android string replace double-quotes
首先您要删除逗号符号和小数,因为 int(整数)是一个整数。
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]", ""));
【讨论】:
试试下面的 sn-p。使用 substring 方法删除 "
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);
}
【讨论】:
首先,您需要从输入字符串中删除任何非数字字符(不包括'.' 和',' 字符),正则表达式"[^\\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) 去掉字符串中的双引号
String str = "\"2.450,00";
str = str.replace("\"", "")
(2) 那么你也应该替换逗号
str = str.replace(",", "")
(3) 最后你应该使用 Integer.parseInt() 方法将 String 转换为 Integer
int i = Integer.parseInt(str);
【讨论】: