Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[8642] Re:Re:이 부분 해설 좀 부탁드려요.
김백일.cedar [cedar] 1459 읽음    2003-02-20 10:07
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()을 쓰면 됩니다.

그리고 앞으로는 매번 이름을 쳐 넣는 불편이 없도록, 볼랜드포럼에 회원 가입하시고 글을 올려주시길 부탁합니다.

+ -

관련 글 리스트
8639 이 부분 해설 좀 부탁드려요. 라우터 869 2003/02/19
9321     Re:이 부분 해설 좀 부탁드려요. 김백일.cedar 985 2003/02/20
9320     Re:이 부분 해설 좀 부탁드려요. 박상철.oseb 831 2003/02/19
9319     Re:이 부분 해설 좀 부탁드려요. 박상철.oseb 941 2003/02/19
8641     Re:이 부분 해설 좀 부탁드려요. civilian 913 2003/02/20
8640     Re:이 부분 해설 좀 부탁드려요. Router 775 2003/02/19
8642         Re:Re:이 부분 해설 좀 부탁드려요. 김백일.cedar 1459 2003/02/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.