Как читать в дабл на Java? - PullRequest
       54

Как читать в дабл на Java?

4 голосов
/ 11 февраля 2010

Я пытаюсь получить десятичный ввод с клавиатуры, и он просто не работает. Сначала я попробовал

double d = Integer.parseInt(JOptionPane.showInputDialog(
                                    "Please enter a number between 0 and 1:"));

и это явно не сработало.

Я привык просто анализировать целые числа, когда они вводятся с клавиатуры прямо в переменную, но я не знаю, что я должен делать для десятичных чисел! Мне нужно иметь возможность брать десятичную дробь, как .9, прямо с клавиатуры и иметь ее в переменной, с которой я могу выполнять вычисления.

Я знаю, что это основной вопрос, но мне нужна помощь. Спасибо!

Ответы [ 4 ]

8 голосов
/ 11 февраля 2010

Я бы использовал Double класс, а не класс Integer

double d = Double.parseDouble((String)JOptionPane.showInputDialog("Please enter a number between 0 and 1:"));
4 голосов
/ 11 февраля 2010
double d = new Double(JOptionPane.showInputDialog("Please enter a number between 0 and 1:"));
3 голосов
/ 11 февраля 2010

Вы должны использовать Double.parseDouble(String). Другой вариант - Double.valueOf(String), и я предпочитаю более поздний вариант, поскольку он более устойчив к изменениям (если параметр изменяется для чего-то другого, чем String, возможно, вам не придется изменять код), даже если он создает ненужные Double, которые вам не нужны в вашем примере.

3 голосов
/ 11 февраля 2010

Вы пытались заменить Double на Integer?

Итак Double.parseDouble(JOptionPane.showInputDialog("Please enter a double:")); http://java.sun.com/javase/6/docs/api/java/lang/Double.html#parseDouble(java.lang.String)

или Double.valueOf(JOptionPane.showInputDialog("Please enter a double:")) http://java.sun.com/javase/6/docs/api/java/lang/Double.html#valueOf(java.lang.String)

...