ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/JAVA

[JAVA] format() ๋ฉ”์†Œ๋“œ

NaNaRin๐Ÿ™ƒ 2021. 1. 15. 15:11

docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html#format(java.lang.String,java.lang.Object...)

 

String (Java SE 15 & JDK 15)

All Implemented Interfaces: Serializable, CharSequence, Comparable , Constable, ConstantDesc public final class String extends Object implements Serializable, Comparable , CharSequence, Constable, ConstantDesc The String class represents character strings.

docs.oracle.com

docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/Formatter.html#syntax

 

Formatter (Java SE 15 & JDK 15)

All Implemented Interfaces: Closeable, Flushable, AutoCloseable public final class Formatter extends Object implements Closeable, Flushable An interpreter for printf-style format strings. This class provides support for layout justification and alignment,

docs.oracle.com


java.lang.String.format(String, Object... )

 

public static String formatโ€‹(String format, Object... args)

 

ํฌ๋งท์„ ๋งž์ถฐ์คŒ

 

๋งค๊ฐœ๋ณ€์ˆ˜ format : 

๋งž์ถ”๊ณ  ์‹ถ์€ ํฌ๋งท ํ˜•์‹ => %[argument_index$][flags][width]conversion

  • %conversion : ํ•„์ˆ˜๊ฐ’. ํ‘œํ˜„ ํ•  ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž… ( ๋ฌธ์ž์—ด %s / ์ •์ˆ˜ %d / ์‹ค์ˆ˜ %f / 8์ง„์ˆ˜ %o / 16์ง„์ˆ˜ %x )

  • [argument_index$] : ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ธ๋ฑ์Šค

  • [flags] : ์ถœ๋ ฅ๋  ๋ฌธ์ž์—ด ์ •๋ ฌ.

    • '-' flags : ์™ผ์ชฝ ์ •๋ ฌ

    • '0' flags : ์ •์ˆ˜๋‚˜ ์‹ค์ˆ˜์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ. ๋นˆ์ž๋ฆฌ๋ฅผ 0์œผ๋กœ ์ฑ„์›€. ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ ์ง€์ •๋์„๋•Œ ์‚ฌ์šฉ

    • '+' flags : ์ •์ˆ˜๋‚˜ ์‹ค์ˆ˜์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ. ๋ถ€ํ˜ธ ํ‘œ์‹œ

    • '(' flags : ์ •์ˆ˜๋‚˜ ์‹ค์ˆ˜์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ. ์Œ์ˆ˜์ธ ๊ฒฝ์šฐ์—๋งŒ ๊ด„ํ˜ธ ์‚ฌ์šฉ

    • '.' flags : ์‹ค์ˆ˜์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ. ์†Œ์ˆ˜์  ์ •๋ฐ€๋„(์ž๋ฆฌ์ˆ˜) ์ง€์ •.
  • [width] : ๋ฌธ์ž์—ด์˜ ๊ธธ์ด

 

๋งค๊ฐœ๋ณ€์ˆ˜ args : 

ํฌ๋งท์„ ๋งž์ถ”๊ณ  ์‹ถ์€ ๋ณ€์ˆ˜

 

๋ฐ˜ํ™˜๊ฐ’ String : 

ํฌ๋งท์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ๋œ String 

 

String.format("%d", 1234)


์˜ˆ์ œ

public class FormatEx {

	public static void main(String[] args) {
		
		System.out.println(String.format("๋ฌธ์ž์—ด : %s / ์ •์ˆ˜ : %d / ์‹ค์ˆ˜ : %f / 8์ง„์ˆ˜ : %o / 16์ง„์ˆ˜ : %x" , 
										"String.format", 123, 12.34, 123, 123));
		System.out.println();
		
		System.out.println(String.format("์ธ๋ฑ์Šค ํ…Œ์ŠคํŠธ : %1$d / %2$d", 123, 567));
		System.out.println(String.format("์ธ๋ฑ์Šค ํ…Œ์ŠคํŠธ : %2$d / %1$d", 123, 567));
		System.out.println();
		
		System.out.println(String.format("flag '0', '-' ํ…Œ์ŠคํŠธ : %03d / %-3d", 3, 3));
		System.out.println(String.format("flag '0', '-' ํ…Œ์ŠคํŠธ : %03d / %3d", 3, 3));
		System.out.println();
		
		System.out.println(String.format("flag '+' ํ…Œ์ŠคํŠธ : %+d / %+d", 3, -3));
		System.out.println(String.format("flag '+' ํ…Œ์ŠคํŠธ : %d / %d", 3, -3));
		System.out.println();
		
		System.out.println(String.format("flag '(' ํ…Œ์ŠคํŠธ : %(d / %(d", 3, -3));
		System.out.println(String.format("flag '(' ํ…Œ์ŠคํŠธ : %d / %d", 3, -3));
		System.out.println();
		
		System.out.println(String.format("๋ฌธ์ž์—ด ๊ธธ์ด ํ…Œ์ŠคํŠธ : %3d / %5d", 3, 3));
		System.out.println(String.format("๋ฌธ์ž์—ด ๊ธธ์ด ํ…Œ์ŠคํŠธ : %-3d / %-5d", 3, 3));
		System.out.println(String.format("๋ฌธ์ž์—ด ๊ธธ์ด ํ…Œ์ŠคํŠธ : %03d / %05d", 3, 3));
		System.out.println();
        
        System.out.println(String.format("์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜ ํ…Œ์ŠคํŠธ : %010.2f / %10.3f / %.2f / %.3f", 1.2345, 1.2345, 1.2345, 1.2345));

	}
}

 

์ถœ๋ ฅ

๋ฌธ์ž์—ด : Stirng.format / ์ •์ˆ˜ : 123 / ์‹ค์ฃผ : 12.340000 / 8์ง„์ˆ˜ : 173 / 16์ง„์ˆ˜ : 7b

์ธ๋ฑ์Šค ํ…Œ์ŠคํŠธ : 123 / 567
์ธ๋ฑ์Šค ํ…Œ์ŠคํŠธ : 567 / 123

flag '0', '-' ํ…Œ์ŠคํŠธ : 003 / 3  
flag '0', '-' ํ…Œ์ŠคํŠธ : 003 /   3

flag '+' ํ…Œ์ŠคํŠธ : +3 / -3
flag '+' ํ…Œ์ŠคํŠธ : 3 / -3

flag '(' ํ…Œ์ŠคํŠธ : 3 / (3)
flag '(' ํ…Œ์ŠคํŠธ : 3 / -3

๋ฌธ์ž์—ด ๊ธธ์ด ํ…Œ์ŠคํŠธ :   3 /     3
๋ฌธ์ž์—ด ๊ธธ์ด ํ…Œ์ŠคํŠธ : 3   / 3    
๋ฌธ์ž์—ด ๊ธธ์ด ํ…Œ์ŠคํŠธ : 003 / 00003

์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜ ํ…Œ์ŠคํŠธ : 0000001.23 /      1.235 / 1.23 / 1.235

 

 

 

์‚ฌ์šฉ ์˜ˆ : nanarin.tistory.com/37