2012-05-18 2 views
1

대신에 0.2 I가 juste 한 질문 :)으로 모니터 0.20 BigDecimal의

의 BigDecimal 브로 BigDecimal.valueOf = (0.20)을 갖고;
System.out.println (a);

은 내가 val0.20하지 0.2에 저장할. 내가 할 수있는 일은 무엇인가?

+0

이 표시 때문이다가, 그것은 여전히 ​​(아마도 더 많은 소수로) 0.20로 저장됩니다 당신의 필요를 충족하기 위해 DecimalFormat을 사용하는 방법 작은 예입니다. – Davio

답변

5

숫자 서식 지정 방법을 제어하려면 NumberFormat 및 특히 DecimalFormat 하위 클래스를 확인하십시오.

패턴에서 DecimalFormat을 만들거나 패턴의 다양한 측면을 직접 설정할 수 있습니다. 그런 다음 형식을 지정하여 BigDecimal을 입력하면 문자열이 표시됩니다.

0

동일한 값이므로 0.2 대신 0.20을 변수에 저장할 수 없습니다. 그러나 결과가 인쇄되는 방식을 변경할 수 있습니다.

당신의 질문은 당신이 자바 프로그래밍의 초보자라고 생각합니다. 단순한 대답을하기보다는이 방법의 정교한 이해를 위해 this tutorial을 읽어야합니다.

2

여기

double d = 1.2345; 
DecimalFormat df = new DecimalFormat("#0.00"); 
System.out.println(df.format(d)); // will print 1.23 
d = 3.400; 
System.out.println(df.format(d)); // will print 3.40 
d = 3.456; 
System.out.println(df.format(d)); // will print 3.46 

BigDecimal b = new BigDecimal(0.20001); 
System.out.println(df.format(b)); // will print 0.20 
+0

당신은 0.20001을 통과 할 필요조차 없다, 0.2는 동일을 할 것이다. – dragon66

+0

@ dragon66 좋은 의견을 보내 주셔서 감사합니다 :-) –

관련 문제