Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 append() 메서드를 사용해 double 값을 문자열(String)로 변환하는 방법

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를 사용하는 것이 권장됩니다.