Заменить "в Java String, чтобы получить из него целочисленное значение" - PullRequest
0 голосов
/ 09 мая 2020

У меня есть строка / значение "2.450,00. Я хочу получить из него значение Integer . Для этого мне нужно удалить " перед 2.

Ответы [ 4 ]

1 голос
/ 09 мая 2020

Сначала вы хотите удалить знак запятой и десятичные дроби, так как int (Integer) является целым числом.

str = str.split(",")[0];

Это разделит строку на "," и возьмет первый индекс, который содержит строку «2.450». Затем вы хотите убрать знаки препинания. Это можно сделать, заменив все, что не является числом, пустым пробелом "".

str = str.replaceAll("[^0-9]", "");

Наконец, вы хотите преобразовать строку в целое число.

int strAsInt = Integer.parseInt(str);

Full код:

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]", ""));
0 голосов
/ 09 мая 2020

(1) Удалите двойные кавычки из строки

String str = "\"2.450,00";

str = str.replace("\"", "")

(2), тогда вы должны также заменить запятую

str = str.replace(",", "")

(3) Наконец, вы должны использовать Integer. parseInt () для преобразования String в Integer

int i = Integer.parseInt(str);
0 голосов
/ 09 мая 2020

Сначала вам нужно удалить любой не-di git символ (за исключением символов '.' и ',') из входной строки, регулярное выражение "[^\\d\\,\\.]" может помочь вам с это:

final String inputString = "Total: 100.000,05$";
final String numberString = inputString.replaceAll("[^\\d\\,\\.]", "");

Следующий шаг - это форматирование строки di git в действительную форму double. На этом этапе вам нужно заменить '.' пустой строкой, а ',' точкой '.'.

final String formattedNumberString = numberString
                                      .replace(".","")
                                      .replace(',', '.');

И, в конце концов, вы, наконец, можете разобрать действительный номер:

double inputNumber = Double.parseDouble(formattedNumberString);
0 голосов
/ 09 мая 2020

Попробуйте приведенный ниже фрагмент. Используйте метод подстроки, чтобы удалить "

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);

}
"
...