Java에서는 Double 값을 String으로 변환할 수 있는 다양한 메소드를 제공합니다. 이 글에서는 가장 많이 사용되는 네 가지 변환 방법과 각각의 예제 코드를 살펴보겠습니다.
1. Double 클래스의 toString() 메소드
toString() 메소드는 현재 Double 객체의 문자열 표현을 반환합니다. 이 메소드를 사용하여 Double 값을 String으로 변환하는 절차는 다음과 같습니다.
- 필요한 기본형(primitive) double 값을 Double 클래스 참조 변수에 담습니다. (오토박싱이 자동으로 일어납니다.)
- toString() 메소드를 호출하여 String으로 변환합니다.
참고: double 값을 toString() 메소드에 직접 전달할 수도 있습니다.
예제
import java.util.Scanner;
public class ConversionOfDouble {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a double value:");
Double d = sc.nextDouble();
String result = d.toString();
System.out.println("The result is: "+result);
System.out.println(Double.toString(d));
}
}실행 결과
Enter a double value: 2548.2325 The result is: 2548.2325 2548.2325
2. String 클래스의 valueOf() 메소드
valueOf() 메소드는 char, char 배열, double, float, int, long 또는 객체를 매개변수로 받아 해당 값의 String 표현을 반환합니다. 이 메소드로 Double 값을 String으로 변환하려면 다음과 같이 합니다.
- double 값을 준비합니다.
- 해당 값을 매개변수로 전달하고 반환되는 String 값을 받습니다.
예제
import java.util.Scanner;
public class ConversionOfDouble {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a double value:");
Double d = sc.nextDouble();
String result = String.valueOf(d);
System.out.println("The result is: "+result);
}
}실행 결과
Enter a double value: 2548.2325 The result is: 2548.2325
3. String 클래스의 format() 메소드
format() 메소드는 형식 문자열(format string)과 가변 인자(varargs)를 받아, 지정된 형식에 맞게 변환된 String 객체를 반환합니다. 이 메소드로 Double 값을 String으로 변환하려면 다음과 같이 합니다.
- double 값을 준비합니다.
- 형식 문자열 "%f"와 함께 double 값을 전달하여 format() 메소드를 호출합니다.
예제
import java.util.Scanner;
public class ConversionOfDouble {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a double value:");
double d = sc.nextDouble();
String result = String.format("%f", d);
System.out.println("The result is: "+result);
}
}실행 결과
Enter a double value: 2548.2325 The result is: 2548.2325
4. StringBuilder 또는 StringBuffer의 append() 메소드
StringBuilder 또는 StringBuffer 객체의 append() 메소드는 boolean, char, char 배열, double, float, int, long, String 등의 값을 매개변수로 받아 현재 객체에 추가합니다.
- double 값을 준비합니다.
- append() 메소드를 사용해 StringBuffer 객체에 값을 추가합니다.
- toString() 메소드를 호출하여 StringBuffer 객체의 문자열 값을 얻습니다.
예제
import java.util.Scanner;
public class ConversionOfDouble {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter a double value:");
double d = sc.nextDouble();
StringBuffer sb = new StringBuffer();
sb.append(d);
String result = sb.toString();
System.out.println("The result is: "+result);
}
}실행 결과
Enter a double value: 2548.2325 The result is: 2548.2325
마무리
지금까지 Java에서 Double 값을 String으로 변환하는 대표적인 네 가지 방법을 알아보았습니다. 단순한 변환에는 toString()이나 valueOf()가 적합하고, 소수점 자릿수 등 출력 형식을 지정해야 한다면 format()을, 문자열 조립 과정에서 변환이 필요하다면 append()를 활용하는 것이 좋습니다. 상황에 맞는 방법을 선택하여 코드의 가독성과 효율성을 높여 보세요.