|
답변 고맙습니다.
그런데 제가 질문한 것은
2263.199951이라는 것이 문제가 됩니다.
%1.1f하면 2263.1이라는 값이 나올수 있습니다.
이걸 double형 처럼 정확하게 할수 있는 옵션이 VC++에는 있더군여.
빌더에도 있을 것 같은데 여러가지 해봐도 같은 값이나오네여...
아시는 분은 답변 부탁드립니다.
fbpsok 님이 쓰신 글 :
: 그런옵션이 구지 필요한지 모르겠군요.
: 그냥 str.printf("%1.1f",a) 하면 2263.2 로 나옵니다.
: 미스콜이아 님이 쓰신 글 :
: : float a = 22632 / 10.0f;
: :
: : AnsiString str = "";
: : str.printf("%f", a);
: : ShowMessage(str);
: :
: : 위와 같이 코딩을 하면
: :
: : str로 나오는 것은
: :
: : 2263.199951이라는 값이 나옵니다.
: :
: : 소수점 분해가 float형은 정확하지 않아서 그렇다는 이야기를 들은 적이 있습니다.
: :
: : 그런데 Visual C++은 옵션에서 이것을 2263.2로 나타 낼수 있는 컴파일 옵션이 있더군여..
: :
: : C++ Builder는 이런 컴파일 옵션이 있는지 알고 싶습니다.
: :
: : 그럼..
: :
: : 개추결 위원장 미스콜이아
|