StringBuilder 또는 StringBuffer 객체의 append() 메서드는 boolean, char, char 배열, double, float, int, long, String 등 다양한 타입의 값을 매개변수로 받아 현재 객체에 이어 붙이는 기능을 제공합니다.
따라서 변환하고자 하는 double 값을 append() 메서드에 전달한 뒤, 결과 객체에 대해 toString()을 호출하면 손쉽게 문자열을 얻을 수 있습니다. 내부적으로는 String.valueOf()와 유사한 방식으로 숫자가 문자열로 변환됩니다.
동작 원리
1. 빈 StringBuffer(또는 StringBuilder) 객체를 생성합니다.
2. append() 메서드에 double 값을 인자로 전달합니다.
3. toString() 메서드를 호출하여 최종 문자열을 반환받습니다.
예제 1: 사용자 입력값 변환하기
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
예제 2: 고정된 값 변환하기
public class Test {
public static void main(String args[]) {
double val = 5698.336;
StringBuffer sb = new StringBuffer();
sb.append(val);
String result = sb.toString();
System.out.println(result);
}
}실행 결과
5698.336
참고: StringBuilder vs StringBuffer
두 클래스 모두 동일하게 append()를 지원하지만, StringBuilder는 동기화를 지원하지 않아 단일 스레드 환경에서 더 빠르고, StringBuffer는 스레드 안전성이 필요한 멀티스레드 환경에 적합합니다. 일반적인 단순 변환 작업에는 StringBuilder를 사용하는 것이 권장됩니다.