如何在Java中读取双精度数?

时间:2010-02-10 22:37:06

标签: java input double

我正在尝试从键盘输入小数,但它无法正常工作。首先我试过

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

这显然效果不佳。

我习惯于解析int,因为它们从键盘进入变量,但我不知道我应该为小数做什么!我需要能够直接从键盘上取一个像.9这样的十进制数,并且能够将它放在一个我可以进行计算的变量中。

我知道这是一个基本问题,但我需要一些帮助。谢谢!

4 个答案:

答案 0 :(得分:8)

我会使用Double类而不是Integer类

double d = Double.parseDouble((String)JOptionPane.showInputDialog("Please enter a number between 0 and 1:"));

答案 1 :(得分:4)

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

答案 2 :(得分:3)

您是否尝试将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)

答案 3 :(得分:3)

您应该使用Double.parseDouble(String)。另一个选项是Double.valueOf(String),我更喜欢后者,因为它更容易改变(如果参数更改为String以外的其他内容,您可能不必修改代码),即使它创建了一个在您的示例中您不需要的Double