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

C++빌더 Q&A
C++Builder Programming Q&A
[5715] Re:숫자 입력방법
홍용혁 [] 2904 읽음    2001-02-25 03:26
은영 님이 쓰신 글 :
: 처음 공부하려니 어렵군요.
: 책을 3권이나 뒤져봐도 기초는 없네요.
:
: 제가 텍스트박스에 숫자를 넣어서
: 이것을 10진수와 16진수로 표시하려 하는데요.
: 문제는
: 즉 텍스트 박스에 숫자를 넣으면 입력된 값이 문자로 입력되는데요.
: 이것을 숫자로 10진수와 16진수로 바꾸는 함수가 뭔지 모르겠습니다.
: C에서는 atol 함수를 썼었는데 빌더에서는 아닌거 같고요
: 즉
: long a;
: a = atol(Edit1->Caption);
: 이렇게 하면 에러가 나고요.
:
: 또한 숫자(Edit1)와 숫자(Edit2)에 입력하여 덧셈을 구하는 함수를
: 아시면 알켜주시면 정말 감사하겠습니다.
:
:

빌더에는 AnsiString 이란게 있습니다. 이것에 대해 찾아보시면 됩니다.

Edit1->Caption 은 AnsiString 입니다.

포인터와는 약간 다르죠. atoi 는 (char *) 형을 int 로 바꾸는 함수입니다.

당연히 AnsiString 은 (char *) 이 아니므로 에러가 나죠.

참고로 AnsiString 을 (char *) 형으로 바꾸려면 .c_str() 을 사용하시면 됩니다.

그리고 AnsiString 형을 정수형으로 바꾸려면

StrToInt(Edit1->Caption) 이렇게 해도 되고

Edit1->Caption.ToInt() 이렇게 해도 됩니다.

그리고 정수형을 16진수형으로 바꾸는 것은 IntToHex 를 사용해보십시오.

Help 에는 다음과 같이 나와있군요.
--------------------------------------------------------------------------
Description

Converts a number into a string containing the number's hexadecimal (base 16) representation.

static AnsiString __fastcall IntToHex(int value, int digits);

Value is the number to convert. Digits indicates the minimum number of hexadecimal digits.
------------------------------------------------------------------------------------------


+ -

관련 글 리스트
5714 숫자 입력방법 은영 2574 2001/02/25
5715     Re:숫자 입력방법 홍용혁 2904 2001/02/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.