Java DecimalFormat 천단위마다 쉼표 입력





결과

결과





코드

public static void main(String[] args) {
		double num;
		
		num = 1234.5678;
		DecimalFormat df = new DecimalFormat("#.##");
		System.out.println("소수점 아래 2째자리까지(반올림) : " + df.format(num));
		
		num = 12345678;
		df = new DecimalFormat("#,###");
		System.out.println("천단위로 쉼표 : " + df.format(num));
		
		num = -1234567;
		df = new DecimalFormat("+#,###; -#,###");
		System.out.println("마이너스 표시 : " + df.format(num));
		num = 1234567;
		System.out.println("플러스 표시 : " + df.format(num));
		
		df = new DecimalFormat("\u0024 #,###");
		System.out.println("달러 표시 : " + df.format(num));
		
		num = 0.2591;
		df = new DecimalFormat("#.# %");
		System.out.println("퍼센트 표시 : " + df.format(num));
	}





DecimalFormat() : 숫자 표현 클래스

- 날짜를 표시할 때 SimpleDateFormat을 사용하여 포맷팅해주는 것처럼 DecimalFormat은 숫자를 표현할 때 포맷팅할 수 있다.


- 예를 들어 천 단위마다 ","를 사용하여 구분하고자 할 때 사용할 수 있다.


-> # : 10진수 표현, 결과에서 볼 수 있듯이 소수점 아래에서 표현 범위가 넘어갈 때는 반올림하여 표현해준다. 반면 정수 부분은 다 표현된다. 

따라서 천 단위 ","로 구분해주기 위하여는 "#,###" 처럼 작성하면 된다.


-> ; : +와 -를 같이 표현해줄 경우 구분자로 쓸 수 있다.


-> \u0024 : 달러를 표현해주기 위하여 달러문자의 유니코드 입력해준다.


-> % : 100 곱한 후 %를 붙여준다. "#.#" 으로 소수점 아래는 한자리만 표현하였으므로 소수점 아래 2째자리에서 반올림하여 표시된다.







+ Recent posts