Router 님이 쓰신 글 :
: 우선 답변 감사드리구요..
: 그럼 씨 빌더로 전환하려면 어떤 방법을 써야 합니까?
: 씨 빌더에서도 같은 방법으로 사용 가능합니까?
C++빌더에서 실수를 문자열로 변환하는 방법은 여러가지가 있습니다.
우선 임의의 포맷으로 변환하는 방법으로,
civilian 님이 쓰셨듯, ::Format(), AnsiString::Format()을 사용하는 방법도 있고요,
AnsiString::sprintf(), AnsiString::printf()나 ANSI C 라이브러리의 ::sprintf()도 있습니다.
ANSI C++ 라이브러리를 사용하려면 stringstream 클래스와
setw(), setprecision() 조정자를 사용하는 방법도 있죠.
그외에 VCL/CLX에는 실수 전용의 함수들도 여러가지가 있습니다. 이쪽이 변환 속도는 더 빠르죠.
도움말에서 'Floating point conversion routines'을 검색하면 여러가지 나오는데요,
간편하기로는 FormatFloat()가 있지만, 이건 자리수와 정밀도를 숫자로 지정하는 게 아니라
전용의 문자열 포맷을 쓰므로 이 경우와는 맞지 않지요.
델파이의 Str()과 가장 유사한 함수는 FloatToStrF()라고 볼 수 있습니다.
(FloatToStr()은 포맷을 지정하지 않고 변환하는 함수지요.)
아래의 형태를 변환한다면
Result = FloatToStrF(GetTime/1000, ffGeneral, Temp, Point);
정도가 되겠네요.
그 외에도 AnsiString이 아니라 C 문자열(char 배열)로 변환하려면 FloatToText()를,
가수(假數, mantissa)와 지수(指數, exponent)를 분리해서 저장하려면 FloatToDecimal()을 쓰면 됩니다.
그리고 앞으로는 매번 이름을 쳐 넣는 불편이 없도록, 볼랜드포럼에 회원 가입하시고 글을 올려주시길 부탁합니다.
|