Java/문자열

[Java]문자열을 실수로 변환(String to Double)

DevStory 2022. 9. 7.

문자열을 실수로 변환

이번 포스팅은 Java에서 문자열을 실수로 변환하는 몇 가지 방법을 소개합니다.


방법 1. Double 클래스의 parseDouble 메서드

첫 번째 방법으로 Double 클래스에서 제공하는 parseDouble() 메서드를 사용하여 문자열을 실수로 변환할 수 있습니다.

public static double parseDouble(String s);

parseDouble() 메서드의 반환 결과는 기본 타입인 double이며, 문자열을 double 타입의 값으로 변환합니다. 만약, 숫자 형태가 아닌 문자열을 전달하는 경우 NumberFormatException이 발생합니다.

 

다음 예제는 Double 클래스의 parseDouble() 메서드를 사용하여 문자열을 실수로 변환합니다.

public static void main(String args[]) {
  System.out.println("\"+10.123\" to double: " + Double.parseDouble("+10.123"));
  System.out.println("\"-10.123\" to double: " + Double.parseDouble("-10.123"));
  System.out.println("\"10.123\" to double: " + Double.parseDouble("10.123"));
  System.out.println("\"+0.00\" to double: " + Double.parseDouble("+0.00"));
  System.out.println("\"-0.00\" to double: " + Double.parseDouble("-0.00"));
  System.out.println("\"20\" to double: " + Double.parseDouble("20"));
  System.out.println("\"-20\" to double: " + Double.parseDouble("-20"));
}

[실행 결과]

"+10.123" to double: 10.123
"-10.123" to double: -10.123
"10.123" to double: 10.123
"+0.00" to double: 0.0
"-0.00" to double: -0.0
"20" to double: 20.0
"-20" to double: -20.0

 

다음 예제는 parseDouble() 메서드의 매개변수에 숫자 형태가 아닌 문자열을 전달합니다.

public static void main(String args[]) {
  System.out.println("\"10.1.2.3\" to double: " + Double.parseDouble("10.1.2.3"));
}

[에러 내용]


방법 2. Double 클래스의 valueOf 메서드

두 번째 방법으로 Double 클래스에서 제공하는 valueOf() 메서드를 사용합니다. valueOf() 메서드의 매개변수로 문자열이 전달된 경우 내부적으로 위에서 소개한 parseDouble() 메서드를 호출하여 문자열을 실수로 변환합니다. 마찬가지로 숫자 형태가 아닌 문자열을 전달하는 경우 NumberFormatException이 발생합니다.

public static Double valueOf(String s);

한 가지 차이점으로 valueOf() 메서드는 기본 타입(double)이 아닌 래퍼 클래스 객체(Double)를 반환합니다.

 

다음 예제는 Double 클래스의 valueOf() 메서드를 사용하여 문자열을 실수로 변환합니다.

public static void main(String args[]) {
  System.out.println("\"+10.123\" to Double: " + Double.valueOf("+10.123"));
  System.out.println("\"-10.123\" to Double: " + Double.valueOf("-10.123"));
  System.out.println("\"10.123\" to Double: " + Double.valueOf("10.123"));
  System.out.println("\"+0.00\" to Double: " + Double.valueOf("+0.00"));
  System.out.println("\"-0.00\" to Double: " + Double.valueOf("-0.00"));
  System.out.println("\"20\" to Double: " + Double.valueOf("20"));
  System.out.println("\"-20\" to Double: " + Double.valueOf("-20"));
}

[실행 결과]

"+10.123" to Double: 10.123
"-10.123" to Double: -10.123
"10.123" to Double: 10.123
"+0.00" to Double: 0.0
"-0.00" to Double: -0.0
"20" to Double: 20.0
"-20" to Double: -20.0

방법 3. Double 생성자

Double 생성자 함수에 문자열을 매개변수로 전달합니다. Double 생성자 함수에 문자열이 전달된 경우 내부적으로 parseDouble() 메서드를 호출하며, 래퍼 클래스 객체(Double)를 반환합니다. 숫자 형태가 아닌 문자열을 전달하는 경우 NumberFormatException이 발생합니다.

 

다음 예제는 Double 생성자 함수를 사용하여 문자열을 실수로 변환합니다.

public static void main(String args[]) {
  System.out.println("\"+10.123\" to Double: " + new Double("+10.123"));
  System.out.println("\"-10.123\" to Double: " + new Double("-10.123"));
  System.out.println("\"10.123\" to Double: " + new Double("10.123"));
  System.out.println("\"+0.00\" to Double: " + new Double("+0.00"));
  System.out.println("\"-0.00\" to Double: " + new Double("-0.00"));
  System.out.println("\"20\" to Double: " + new Double("20"));
  System.out.println("\"-20\" to Double: " + new Double("-20"));
}

[실행 결과]

"+10.123" to Double: 10.123
"-10.123" to Double: -10.123
"10.123" to Double: 10.123
"+0.00" to Double: 0.0
"-0.00" to Double: -0.0
"20" to Double: 20.0
"-20" to Double: -20.0
반응형

댓글