Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- verilog
- stop watch
- prescaling
- i2c 통신
- gpio
- pwm
- soc 설계
- dataflow modeling
- hc-sr04
- ATMEGA128A
- Algorithm
- LED
- FND
- atmega 128a
- java
- structural modeling
- behavioral modeling
- test bench
- vivado
- Linked List
- BASYS3
- Recursion
- ring counter
- half adder
- Edge Detector
- uart 통신
- KEYPAD
- DHT11
- Pspice
- D Flip Flop
Archives
- Today
- Total
거북이처럼 천천히
Java - String Formatting 본문
1. %d (Format code)와 % 기호를 같이 사용할 경우
ex) "Loading is 50%" String 을 출력하고 싶다.
System.out.println(String.format("Loading is %d%", 50));
- 위 예문처럼 작성하였지만, 예상과 달리 오류(UnknownFormatConversionException)가 발생하였다.
- 그 이유는 문자열 포맷 코드인 %d와 기호 %가 같은 문자열에 존재할 경우, 기호 %를 표시하기 위해서는 %%으로 써야한다.
- 하지만, 문자열 포맷 코드가 문자열에 존재하지 않는다면 %는 홀로 작성해도 상관이 없다.
System.out.println(String.format("Loading is %d%%", 50)); // Loading is 50% 출력
2. 문자열 포맷 코드와 옵션
문자열 포맷 코드(String Format code)를 숫자와 함께 사용하면 옵션을 부여 더 유용하게 사용할 수 있다.
2.1. 문자열의 정렬과 공백
System.out.println(String.format("%10s", "Hello!")); // " Hello!" 출력
System.out.println(String.format("%-10s", "Hello!")); // "Hello! " 출력
- %10s는 길이가 10개인 문자열 공간에서 대입할 값을 오른쪽에 정렬하고, 나머지를 공백으로 채우라는 의미이다.
- %-10s는 길이가 10개인 문자열 공간에서 대입할 값을 왼쪽에 정렬하고, 나머지를 공백으로 채우라는 의미이다.
2.2. 소수점 표현
System.out.println(String.format("%.4f", 3.1234567)); // 3.1235 출력
System.out.println(String.format("%10.4f", 3.1234567)); // " 3.1235" 출력
- %.4f 는 실수 3.1234567를 소수점 4번째까지만 표현하라는 뜻으로, 소수점 5번째에서 반올림하게 된다.
- %10.4f 는 실수 3.1234567를 소수점 5번째에서 반올림하고, 전체 길이가 10개인 문자열 공간에서 오른쪽으로 정렬하라는 의미이다.
3. System.out.printf
String.format 메소드은 formatted String(포매팅된 문자열)을 반환하기 때문에, String.format() 메소드와 System.out.println() 메소드를 이용하여 formatted String(포메이팅된 문자열)을 출력할 수 있다.
System.out.println(String.format("Today is %s . I ate %d apples", "sunday", 13));
System.out.printf() 메소드를 이용하면 String.format() 메소드 없이도 동일한 형식으로 포매팅된 문자열을 얻을 수 있다.
System.out.printf("Today is %s . I ate %d apples", "sunday", 13);
String.format 메소드와 System.out.printlf() 메소드의 차이는 전자는 formatted String(포메이팅된 문자열)을 반환하고, 후자는 formatted String(포메이팅된 문자열)을 출력한다.
'Back-end > Java 개념' 카테고리의 다른 글
Java - List (0) | 2022.06.02 |
---|---|
Java - 배열 (0) | 2022.06.01 |
Java - 문자열 (0) | 2022.05.30 |
Java - 불리언, 문자형 (0) | 2022.05.29 |
Java - 숫자 자료형 (0) | 2022.05.29 |