자바(Java) 화폐 단위 구분을 위한 콤마 찍는 방법 |
환경: Eclipse Mars |
숫자를 화폐 단위로 표시하기 위해서는 1,000 단위로 콤마가 들어가는 것이 가독성을 위해서 좋습니다. 이렇게 숫자에 일정한 패턴을 만들어서 데이터를 출력하고자 할 때 사용하는 것이 java.text.DecimalFormat 클래스입니다. new 연산자를 사용해서 객체를 생성해야 하며, 생성자의 인수는 포맷 문자열을 입력해야 합니다. 화폐 단위 구분을 위한 콤마 입력은 ###,###,###,### 같이 되겠죠. 금액의 크기만큼 # 과 “,” 를 지정해 주시면 됩니다.
▼ 그림에서처럼 숫자 포맷을 변경하기 위한 DecimalFormat 클래스를 new 연산자로 생성합니다. 그리고 생성자 인수로 포맷 형태를 지정합니다.
▼ 다음은 DecimalFormat 클래스에서 숫자를 의도한 대로 변경하기 위한 함수를 실행하는 것이겠죠. 변환 함수는 format() 입니다. 그림에서처럼 format() 함수의 인수로 숫자값을 넘기면 변환된 String 객체를 반환합니다.
▼ 전체 소스는 다음과 같습니다. 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);
}
}
▼ 소수점의 패턴을 지정할 때도 많이 사용합니다. "###.##" 를 입력하게 되면 소수점 둘 째짜리 까지만 출력이 됩니다. 그리고 무조건 자르는 것이 아니라 반올림이 됩니다. 그림에서 출력값을 보시면 510.2185 에서 510.22 로 반올림된 계산 값이 나왔습니다.
▼ 만약 작업 중간에 포맷을 변경해야 되는 경우가 생기면 어떻게 해야 할까요? DecimalFormat 객체를 새로 만들지 않고 패턴을 변경할 수 있습니다. 그것은 applyPattern 함수를 이용하는 것입니다. 기존에 적용되었던 포맷이 applyPattern 함수의 인수로 넘긴 포맷 문자열 형태로 변경됩니다.
'자바(JAVA)' 카테고리의 다른 글
JSP Servlet 구현하기, POST 로 값 전송하기 (0) | 2019.11.16 |
---|---|
자바(Java) static 문법에 대해서 알아 봅니다. (0) | 2019.11.02 |
자바(Java) 두 수에서 최대공약수 찾는 방법, BigInteger (0) | 2019.10.23 |
프로그램 플로우차트, UML , 데이터베이스 테이블 설계를 할 수 있는 사이트 (0) | 2019.07.18 |
메모장 자바소스 컴파일해서 실행하는 방법 (0) | 2019.05.14 |
자바 JMF 동영상 개발 API 이클립스에서 사용하는 방법 (0) | 2019.04.15 |
스프링붓(Spring boot) Cannot determine embedded database driver class for database type NONE 에러 해결하는 방법 (0) | 2018.06.25 |
스프링붓(Spring Boot) ClassNotFoundException: javax.servlet.jsp.jstl.core.Config 에러 (0) | 2018.05.01 |