자바(Java) 화폐 단위 구분을 위한 콤마 찍는 방법

자바(JAVA)

자바(Java) 화폐 단위 구분을 위한 콤마 찍는 방법

 

환경: Eclipse Mars

 

숫자를 화폐 단위로 표시하기 위해서는 1,000 단위로 콤마가 들어가는 것이 가독성을 위해서 좋습니다. 이렇게 숫자에 일정한 패턴을 만들어서 데이터를 출력하고자 할 때 사용하는 것이 java.text.DecimalFormat 클래스입니다. new 연산자를 사용해서 객체를 생성해야 하며, 생성자의 인수는 포맷 문자열을 입력해야 합니다. 화폐 단위 구분을 위한 콤마 입력은 ###,###,###,### 같이 되겠죠. 금액의 크기만큼 # “,” 를 지정해 주시면 됩니다.

 

그림에서처럼 숫자 포맷을 변경하기 위한 DecimalFormat 클래스를 new 연산자로 생성합니다. 그리고 생성자 인수로 포맷 형태를 지정합니다.

자바(Java) 화폐 단위 구분을 위한 콤마 찍는 방법

 

다음은 DecimalFormat 클래스에서 숫자를 의도한 대로 변경하기 위한 함수를 실행하는 것이겠죠. 변환 함수는 format() 입니다. 그림에서처럼 format() 함수의 인수로 숫자값을 넘기면 변환된 String 객체를 반환합니다

자바(Java) 화폐 단위 구분을 위한 콤마 찍는 방법

 

전체 소스는 다음과 같습니다. money 변수에 저장된 숫자를 DecimalFormat 클래스로 변환해서 콘솔창에 출력하는 소스입니다. 출력한 결과값은 아래와 같습니다

import java.text.DecimalFormat;

public class Comma {

	public static void main(String[] args) {
		
		double money = 1845510;
		
		DecimalFormat dc = new DecimalFormat("###,###,###,###");	
		String ch = dc.format(money);
		
		System.out.println("작업전 : " + money);
		System.out.println("작업후 : " + ch);
	}
}

자바(Java) 화폐 단위 구분을 위한 콤마 찍는 방법

 

소수점의 패턴을 지정할 때도 많이 사용합니다. "###.##" 를 입력하게 되면 소수점 둘 째짜리 까지만 출력이 됩니다. 그리고 무조건 자르는 것이 아니라 반올림이 됩니다. 그림에서 출력값을 보시면 510.2185 에서 510.22 로 반올림된 계산 값이 나왔습니다

자바(Java) 화폐 단위 구분을 위한 콤마 찍는 방법

 

만약 작업 중간에 포맷을 변경해야 되는 경우가 생기면 어떻게 해야 할까요? DecimalFormat 객체를 새로 만들지 않고 패턴을 변경할 수 있습니다. 그것은 applyPattern 함수를 이용하는 것입니다. 기존에 적용되었던 포맷이 applyPattern 함수의 인수로 넘긴 포맷 문자열 형태로 변경됩니다

자바(Java) 화폐 단위 구분을 위한 콤마 찍는 방법

저작자 표시 비영리 변경 금지
신고
Posted by 녹두장군