|
골치아픈 문제죠.
Rounding 함수로 rounding 해주세요.
SimpleRoundTo 나 RoundTo 같은거 사용하시거나
double roundto(double number, int digits)
{
digits = - digits;
int mul = (int)pow((double)10,(double)digits);
number*=mul;
if(number>0) number+=0.5;
else number-=0.5;
number=(int)number;
number/=mul;
return number;
}
위의 함수 사용하시거나 해보세요. 지금은 모르겠습니다만, 예전에 Builder의 Rounding 함수가
다소 문제를 일으켜서 위의 함수를 계속 쓰고 있습니다.
마이클플리 님이 쓰신 글 :
: double dTemp = 123.12 ;
: float fTemp = (float)dTemp ;
:
: 이런식으로 하니까 fTemp 가 123.12000275 으로 입력되어.
: 값이 밑에가 깔끔하게 안들어가더군요...
:
: 혹시 안전하게 double에서 float형태로 변환 하는 방법이 있을까요?
:
: 미리 감사드리겠습니다.
|