2014-04-25 1 views
0

&을 어떻게 반올림하여 소수점 이하의 숫자를 제거 할 수 있습니까? &이 숫자를 String으로 변환하십시오.- 이중 위를 반올림하고 소수점 뒤에 숫자를 제거 -

그것은 라운드까지 56.0000000000의 두 배 값 - - double 값 55.6666666666667로 시작

또는 55.333333333333 시작 - 라운드를 다운 55.0000000000의 double 값에 -

& 다음 소수점 및 후행 0을 제거 - 변환 String에 전달합니다.

감사합니다.

+0

"정리하다"라는 용어를 사용했기 때문에, 이중화가 55.33333과 같은 경우 어떻게되는지 명확히하기 위해; 여전히 56으로 반올림해야하나요, 아니면 55로 반올림해야하나요? –

+1

사실, 나는 매우 피곤하다. 반올림 및 올림 반올림은 이상적입니다. 백분율/등급을 얻는 것이 좋습니다. –

+0

'Math.ceil()'을보고 리턴 값을 int로 변환하십시오. – anonymous

답변

5

가장 가까운 정수로 값을 반올림하는 가장 좋은 방법은 다음과 같습니다

int x = (int)Math.round(55.6666666666667); 

x 당신은 또한 Math.ceil()Math.floor() 아래 각각 반올림하거나 사용할 수 있습니다 (56) 일 것이다. 마지막으로 x 문자열을 사용하십시오 String.valueOf(). 이처럼 : 당신은 Math 클래스 here 및 String 클래스 here에 대한 자세한 내용을보실 수 있습니다

String xString = String.valueOf(Math.round(55.6666666666667)); 

: 당신이 한 줄에 모든 것을 할 싶었다면

String xString = String.valueOf(x); 

.

+0

응답 해 주셔서 감사합니다. –

+0

내가 대답을 올렸을 때 실수 했어. +1 – DerStrom8

1

Math.round() 기능을 사용하십시오. 소수점 이하 자릿수를 제거하기 위해 int으로 캐스팅하거나, 캐스팅하기 전에 Math.floor() 또는 Math.ceil()을 반올림하거나 위로 올림 할 수 있습니다.

0

당신이 xdouble입니다 실제로 둥근 값을 저장하고 싶지만, 그냥이, ​​당신이 원하는 모든 일을해야 문자열로 그것을보고 싶지 않아 가정 : 당신은했습니다

String s = String.format("%.0f", x); 
관련 문제