2010-02-10 3 views
4

키보드에서 10 진수 입력을 얻으려고하고 있는데 작동하지 않습니다. 먼저 시도해 보았습니다.Java에서 double로 읽는 방법은 무엇입니까?

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

분명히 제대로 작동하지 않았습니다.

저는 int에서 키보드로 들어오는 변수를 파싱하는 데 익숙합니다. 그러나 십진수로 무엇을해야할지 모르겠습니다. 저는 키보드에서 똑같은 10 진수를 취할 수 있어야하고 계산을 할 수있는 변수에 넣을 수 있어야합니다.

저는 이것이 기본적인 질문이라는 것을 알고 있지만 도움이 필요합니다. 감사!

답변

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

이 방법이 효과적 일 수 있지만 가장 올바른 방법은 아닙니다. –

+0

그 다음은 무엇입니까? Double.parseDouble? 왜 더 나아질까요? –

+8

'double d = new Double'은'Double' 타입의 객체를 생성 한 다음 즉시'double' 프리미티브를 위해 폐기합니다. Double.parseDouble은 두 개의 불필요한 단계를 피할 수 있습니다. –

8

나는

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

당신은 Double.parseDouble(String)를 사용해야합니다. 또 다른 옵션은 Double.valueOf(String)이고 나중에 변경하지 않아도됩니다 (매개 변수가 String 이외의 것으로 변경된 경우 코드를 수정하지 않아도 됨). 필요하지 않은 불필요한 Double이 생성 되더라도 당신의보기에서.