Java

Java, 추상 클래스 NumberFormat 이용하기 / DecimalFormat / getCurrencyInstance( 나라별로 숫자(돈) 표현 )

greenyellow-s 2024. 7. 17. 14:01

NumberFormat

 

모든 숫자 형식에 대한 추상 기본 클래스이다.

숫자의 서식을 지정하고 구문 분석하기 위한 인터페이스를 제공한다.

 

NumberFormat은 추상 클래스이기 때문에 new로 1:1관계로서 불러들일 수 없다.

따라서, NumberFormat의 Sub Class를 불러오거나 메서드를 이용해서 생성해야한다.

 

NumberFormat nf = new NumberFormat(); X

NumberFormat nf = new DeicmalFormat(); O

또는

NumberFormat nf = new NumberFormat.getInstance(); O

nf.format();

 

* getInstance = 숫자 서식을 지정 메소드

NumberFormat nf = new DecimalFormat();

System.out.println(nf.format(12345678.456789));

// [실행결과] 12,345,678.457

DecimalFormat("#,###.00원");

 

형태를 직접 지정할 수 있다.

NumberFormat nf2 = new DecimalFormat("#,###.00원");
System.out.println(nf2.format(12345678.456789));

// [실행결과] 12,345,678.46원

getCurrencyInstance();

 

원화로 출력

NumberFormat nf4 = NumberFormat.getCurrencyInstance();
System.out.println(nf4.format(12345678.456789));

// [실행결과] ₩12,345,678

 


getCurrencyInstance(Locale.US);

 

달러($)로 표현(나라별 표현 가능)

NumberFormat nf5 = NumberFormat.getCurrencyInstance(Locale.US);
System.out.println(nf5.format(12345678.456789));

// [실행결과] $12,345,678.46