반응형

소수점을 정수로 변환할 때 (int) 를 쓰는 경우와 Math.round 로 반올림을 하는 경우가 있다.

 

(int) 를 사용하면 절삭이 된다. 따라서 Math.floor 를 사용할 때와 같은 결과가 된다.

float a = 9.8f;

int b = (int)a;

//// b 의 값은 9


float c = -9.8f;

int d = (int)c;

//// d 의 값은 -9

 

반면, Math.round 를 사용하면 반올림이 된다.

float a = 9.8f;

int b = Math.round(a);

//// b 의 값은 10


float c = -9.8f;

int d = Math.round(c);

//// d 의 값은 -10

 

결과값에 반올림이 필요한지, 내림(버림, 절삭)이 필요한지 잘 판단해서 사용해야 한다.

반응형

+ Recent posts