2016-10-09 5 views
0

나는 7 자리로 두 자리 수를 반올림해야하는 자바 프로그램을 만들고 있는데 어떻게해야할지 모르겠다. like 6.6666667e-10 to 0.0000001자릿수를 반올림하는 방법

+0

에 DecimalFormat의 DF = 새에 DecimalFormat를 ("# #######.") df.setRoundingMode (RoundingMode.CEILING); –

+0

@ i-bob 그것은 위의 답변에 0을 제공하지만 0.0000001이 필요합니다. –

답변

1

숫자가 너무 작아서 0을 반환하는 이유입니다. 소수점 이하 7 자리로 반올림 할 수 없습니다. 그 이유는 소수점 이하의 첫 번째 숫자가 7 번째 자리 이후에 있기 때문입니다.

그러나, 약간 더 큰 숫자,이 코드는 트릭을 수행해야합니다

double a = 6.66666667E-10; 
DecimalFormat df = new DecimalFormat("#.#######"); 
df.setRoundingMode(RoundingMode.CEILING); 
System.out.println(df.format(a)); 
+0

0을 다시주고 있지 않습니다. –

+0

제가 말했듯이, 예제의 숫자가 너무 작습니다. 큰 숫자를 시도하거나 7 자리 이상을 입력하십시오. – ItamarG3

관련 문제