void __fastcall TForm1::Button1Click(TObject *Sender)
{
double temp = RoundTo((2.802 + 2.803) * 0.5, -3);
Edit1->Text = FloatToStr(temp);
}
이런식으로 테스트 해봤는데, 2.803 으로 값이 제대로 나오던데요?
왜 결과가 다르게 나왔는지 알 수 있도록 해당 부분의 소스를 좀 볼 수 있을까요?
김동욱 님이 쓰신 글 :
: RoundTo 나 SimpleRoundTo, FormatFloat 모두 사용해도 반올림이 되지 않네요.
:
: 당연히 되야되는거 같은데 디버깅 모드에서 반올림 전까지는 값이 제대로 들어가는데 결과는 반올림이 않되네요.
:
: double 형으로 연산하고 계산식은 (2.802 + 2.803) * 0.5 인데 소수3자리에서 반올림하면 2.802로 나타납니다.
:
: 이거 가지고 몇시간이나 해메고 있네요. 혹시 옵션을 조정하면 되지 않을까 해서 이것 저것 건드려 보고 있는데
:
: 시간만 가네요. ㅜㅜ
|