Как удалить запятую из TextField в Java - PullRequest
2 голосов
/ 12 августа 2010

У меня есть JFormattedTextField с именем Hectare.Значение типа double объявлено, как показано ниже

         String cultivationSize = JFormattedTextField3.getText();
         double hectare = Double.parseDouble(cultivationSize);

Теперь проблема в том, что, когда я ввожу более 3 цифр, по умолчанию запятая вводится после 3 цифр, например, 1000.Я должен добавить это значение к другому значению.Но из-за этой запятой я не могу этого сделать.

Как удалить запятую и добавить это значение к какому-либо другому значению?

Ответы [ 4 ]

12 голосов
/ 12 августа 2010

Вызовите getValue () вместо getText() в JFormattedTextField

8 голосов
/ 06 марта 2012

Гораздо более простое решение

Format format = NumberFormat.getIntegerInstance();
format.setGroupingUsed(false);
JFormattedTextField jtf = new JFormattedTextField(format);

Это удалит группировку чисел с помощью запятой.

1 голос
/ 12 августа 2010

Вы должны использовать MaskFormater следующим образом:

zipField = new JFormattedTextField(
                    createFormatter("#####"));
...
protected MaskFormatter createFormatter(String s) {
    MaskFormatter formatter = null;
    try {
        formatter = new MaskFormatter(s);
    } catch (java.text.ParseException exc) {
        System.err.println("formatter is bad: " + exc.getMessage());
        System.exit(-1);
    }
    return formatter;
}
0 голосов
/ 12 августа 2010

используйте string.replace(",","");

т.е. ваш код должен выглядеть так -

double hectare = Double.parseDouble(cultivationSize.replaceAll(",",""));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...