언어/JAVA

문자열 포매팅

nakgopsae 2024. 6. 21. 13:03
public static void practice(){

        System.out.println(String.format("I eat %d apples.", 3)); //I eat 3 apples.

        System.out.println(String.format("I eat %s apples.", "five")); //I eat five apples.

        int number = 3;
        System.out.println(String.format("I eat %d apples.", number)); //I eat 3 apples.

        number = 10;
        String day = "three";
        System.out.println(String.format("I ate %d apples. so I was sick for %s days.", number, day));
        //I ate 10 apples. so I was sick for three days.
    }

 

문자열안 특정 값을 바꿀수 있게 해주는걸 포맷팅이라 한다  

 

코드 대입 값
%s 문자열
%c 캐릭터 문자
%d 정수
%f 부동소수
%o 8진수
%x 16진수
%% Liteteral % (문자 % 자체)

 

대입하는 값의 자료형에 따라 위와 같은 방식으로 표기할수있다 

    public static void practice(){

        System.out.println(String.format("I have %s apples",3.21341));
        //%s쓰면 숫자 넣어도 알아서 문자열로 변환된다
        
    }

 

숫자나 부동소수를 넣어도 알아서 문자열로 바꿔준다

public static void practice(){

        System.out.println(String.format("%10s", "hi"));  // "        hi"
        //%10s는 전체 길이가 10인 문자열 공간에서 대입되는 값(hi)을 가장 오른쪽으로 정렬하고 나머지는 공백으로 남겨 두라는 의미
        System.out.println(String.format("%.4f", 3.42134234));  // 3.4213 출력
        //%.4f는 3.42134234를 소수점 넷째 자리까지만 나타내고 싶을 때 사용한다
        // 문자열 포맷 코드에서 ‘.’는 소수점을 뜻하고, 그 뒤의 숫자 4는 소수점 뒤에 이어질 숫자의 개수를 말한다

    }

 

이런식으로 공백을 넣거나 소수점 아래의 특정 자리만 표시할 수도 있다