본문 바로가기

Programming

[Java] 실수형 소수점

반응형

실수형 데이터에서 소수점을 제한해서 표현하고 싶을때!!!!

예를 들어 소수점 둘째 자리까지만 표기하고 싶을때!! 

그럴때 사용하는 함수가 있습니다. DecimalFormat

여기에 간단한 사용법을 남김과 동시에 버릴 소수점을 어떻게 처리하는지도 비교할수 있도록 같이 올립니다.

setRoundingMode 메소드가 처리하는 방법을 설정하는 함수 입니다.


import java.math.RoundingMode;
import java.text.DecimalFormat;

public class Test {
	public static void main(String[] args) {
		DecimalFormat df = new DecimalFormat("0.##");
		double num[] = {1.977, 1.975, 1.972};
		RoundingMode[] modes = {RoundingMode.UP, RoundingMode.DOWN, RoundingMode.CEILING, RoundingMode.FLOOR, RoundingMode.HALF_UP, RoundingMode.HALF_DOWN, RoundingMode.HALF_EVEN};
		
		for(int n=0; n<3; n++){
			System.out.println("number : "+num[n]);
			
			for(int i=0; i<7; i++){
				df.setRoundingMode(modes[i]);
				System.out.println(modes[i]+" : "+df.format(num[n]));
			}
			
			System.out.println();
		}
	}
}


출력결과

number : 1.977
UP : 1.98
DOWN : 1.97
CEILING : 1.98
FLOOR : 1.97
HALF_UP : 1.98
HALF_DOWN : 1.98
HALF_EVEN : 1.98

number : 1.975
UP : 1.98
DOWN : 1.97
CEILING : 1.98
FLOOR : 1.97
HALF_UP : 1.98
HALF_DOWN : 1.97
HALF_EVEN : 1.98

number : 1.972
UP : 1.98
DOWN : 1.97
CEILING : 1.98
FLOOR : 1.97
HALF_UP : 1.97
HALF_DOWN : 1.97
HALF_EVEN : 1.97




자세한 사항은 http://java.sun.com/javase/7/docs/api/java/text/DecimalFormat.html 여기서 확인 하세요....

반응형

'Programming' 카테고리의 다른 글

QThread 사용시 컴파일 오류  (0) 2010.11.15
Syntax Highlighter 2.0 설치하기  (0) 2010.06.25
[Ruby] 클래스에 대한 간단한 설명  (0) 2010.01.18
[WSP] DB Modeling  (0) 2010.01.07
[WSP] ERD  (0) 2010.01.06