Java netbeans - как присвоить значение jtextfield нулю, если значение jtextfield пусто

    double B=Double.parseDouble(emp_txt2.getText());
    double C=Double.parseDouble(nopay_txt3.getText());
    double E=Double.parseDouble(wop_txt4.getText());
    double F=Double.parseDouble(wop_txt5.getText());

   double f =B+C+E+F;
   String p = String.format("%.2f",f);
   lb1_total3.setText(p);

Я хочу присвоить двойные значения B, C, E, F нулю, когда поле jtextfield пусто.

Используйте Тернарный оператор, например: double B = Double.parseDouble((emp_txt2.getText().equals("") ? "0" : emp_txt2.getText()));.

DevilsHnd 06.09.2018 10:09
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
552
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать этот метод вместо Double.parseDouble.

public static double tryParsDouble(String s, double defaultValue) {
     if (s == null) return defaultValue;

     try {
         return Double.parseDouble(s);
     } catch (NumberFormatException x) {
         return defaultValue;
     }  
}

А затем:

double F = tryParsDouble(wop_txt5.getText(), 0.0);

Попробуйте ввести значения в текстовое поле emp_text2, и код вернет следующие значения соответственно: "", " ", "1", "1.1", "-1.1", "1.0 " возвращает 0.0, 0.0, 1.0, 1.1, -1.1, 1.0.

Что произойдет, если на входе будет "1.1x"? Это выбрасывает NumberFormatException - и приложение должно понять, что делать.

double value = getDoubleValue(emp_text2.getText());
...

private static double getDoubleValue(String input) {

    double result = 0d;

    if ((input == null) || input.trim().isEmpty()) {
        return result;
    }

    try {
        result = Double.parseDouble(input);
    }
    catch (NumberFormatException ex) {
        // return result -or-
        // rethrow the exception -or-
        // whatever the application logic says
    }

    return result;
}

Другие вопросы по теме