-2

부동 소수점이없는 실수 만 반환하는 함수가 있습니까? 예를 들어, func(1.xxx)->1 func(52.xx)->52 func(0.xx)->0부동 소수점 뒤에 숫자를 제거하는 방법은 무엇입니까?

어떤 기능 때문에 거기 않는가요?

+0

Typecast로 정수로 변환하면 십진수 값을 얻을 수 있습니다 .. –

+0

Math.round()를 사용해 주시겠습니까? –

+0

int a = (int) doble_value; 그냥 정수로 변환하십시오. –

답변

3

단순히 int로 캐스팅하면 소수점 이하의 모든 부분이 잘립니다.

float f1 = 10.345; 
int i1 = (int) f1; // Gives 10 

float f2 = 10.897; 
int i2 = (int) f2; // Also gives 10 
+0

바닥에 던지기 위해, '수학 # round()'를 ... 잘 ... 둥글게하십시오. – Rogue

+0

내 질문에 최대 투표 하시겠습니까 – user2121

+0

@ 로그 그게 양수에 맞습니다. 음수는 약간 다르게 작동합니다. 여기서 잘라내는 것에 대해 이야기하고 있습니다. http://math.stackexchange.com/questions/344815/how-do-the-floor-and-ceiling-functions-work-on-negative-numbers을 참조하십시오. – starf

1

당신은 할 수 있습니다 :이 당신에게 100을 제공

double d = 100.675; 

System.out.println((int) d); 

.

System.out.println(Math.round(d)); 

101입니다.

당신은 또한 사용할 수 있습니다

new java.text.DecimalFormat("#").format(10.0); // => "10" 

이제 선택은 당신이하고 싶은 중요한 것은 그에 따라 방법이 예상 출력이 무엇이라고 당신입니다.

+1

고맙습니다. 물론 올바른 답변도 있습니다. – user2121

+0

예, 제가 처음에 댓글에 올렸으므로 위에 나온 답이 나왔습니다. –