728x90
2-11. 형식화된 출력 : printf()
println()의 단점 : 출력 형식 지정 불가
- 실수의 자리수 조절 불가
- 10진수로만 출력됨
printf()로 출력 형식 지정 가능
System.out.printf("%.2f", 10.0/3); // 3.33
System.out.printf("%d", 0x1A); // 26
System.out.printf("X", 0x1A); // 1A
printf()의 지시자
지시자 | 설명 |
%b | 불리언(boolean) 형식으로 출력 |
%d | 10진(decimal) 정수의 형식으로 출력 |
%o | 8진(octal) 정수의 형식으로 출력 |
%x, %X | 16진(hexa-decimal) 정수의 형식으로 출력 |
%f | 부동 소수점(floating-point)의 형식으로 출력 |
%e, %E | 지수(exponent) 표현식의 형식으로 출력 |
%c | 문자(character)로 출력 |
%s | 문자열(string)로 출력 |
System.out.printf("age: %d year: %d\n", 14, 2017);
// age: 14 year: 2017 출력 후 줄바꿈
정수를 10진수, 8진수 16진수로 출력
System.out.printf("%d", 15); // 15 : 10진수
System.out.printf("%o", 15); // 17 : 8진수
System.out.printf("%x", 15); // f : 16진수
System.out.printf("%s", Integer.toBinaryString(15)); // 1111 : 2진수
8진수와 16진수에 접두사 붙이기
System.out.printf("%#o", 15); // 017
System.out.printf("%#x", 15); // 0xf
System.out.printf("%#X", 15); // 0XF
실수 출력을 위한 지시자 %f - 지수형식(%e), 간략한 형식(%g)
float f = 123.4567890f;
System.out.printf("%f", f); // 123.456789 : 소수점 아래 6자리
System.out.printf("%e", f); // 1.234568e+02 : 지수 형식 (소수점 아래 6자리인듯?)
System.out.printf("%g", 123.456789); // 123.457 : 간략한 형식
System.out.printf("%g", 0.00000001); // 1.00000e-8 : 간략한 형식
System.out.printf("[%5d]\n", 10); // [ 10]
System.out.printf("[%-5d]\n", 10); // [10 ]
System.out.printf("[%05d]\n", 10); // [00010]
%전체자리.소수점아래자리f
System.out.printf("d = %14.10f\n", d); // 전체 14자리 중 소수점 아래 10자리
System.out.printf("[%s]\n", url); // [www.codechobo.com]
System.out.printf("[%20s]\n", url); // [ www.codechobo.com]
System.out.printf("[%-20s]\n", url); // [www.codechobo.com ]
System.out.printf("[%.8s]\n", url); // [www.code]
'JAVA > Java Study' 카테고리의 다른 글
[Java의 정석 - 기초편] 8. 예외처리 (exception handling) (0) | 2024.01.09 |
---|---|
[Java] java.util.IllegalFormatConversionException: d != java.lang.String 에러 (0) | 2024.01.09 |
[Java] String ↔ char 변환 (0) | 2024.01.09 |
[Java의 정석 - 기초편] 2-10. 형변환 (Casting) (0) | 2024.01.09 |
[Java] String.format을 이용한 문자열 형식 설정하기 (2) | 2024.01.09 |