알에스 님이 쓰신 글 :
: float f;
: int i = 35, j = 8;
: f = (float)i / (float)j;
: 하면 f = 4.375가 되는데 이때 결과를 소수점 2째자리에서
: 반올림하여 4.38의 값을 갖고 싶으면 어떻게 합니까?
:
임펠리테리입니다.
빌더에는 반올림을 지원하는 함수가 없는데, 더욱이 지금 원하시는 것처럼, 소숫점 아래 몇자리에서 반올림하는 그런 함수는... 아마도 다른 어떤 언어에도 없을겁니다. ^^
간단히 하는 방법은 있습니다. 일단 0.005를 더하세요. 4.375 + 0.005 = 4.38
이 경우에는 그 이하 자리수가 없으므로 문제가 없습니다만, 만약 원래의 계산결과가 4.3753 등과 같이 그 이하 자리가 있다면 계산결가도 4.383과 같이 되므로 원하는 결과가 안되죠? 그럼, 여기다 100을 곱한 후 다시 100으로 나누어 정수형으로 강제 캐스팅을 하면 되겠습니다.
그럼 참고하시길...
|