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
[78206] Re:Re:Re:사칙연산 프로그램인데 더하기 연산이 안되요.
김시환 [godson2] 25 읽음    2025-11-10 12:03
장경선 님이 쓰신 글 :
: 정성훈.해미 님이 쓰신 글 :
: : Edit의 Text는 문자열입니다.
: : 문자열을 사칙연산하면
: : 기대하는 숫자의 사직연산 결과는 당연히 안나옵니다.
: :
: : 문자열의 +는 문자열을 합치는(붙이는) 연산이지요.
: :
: : 빌더만 그런게 아니고
: : 모든 언어에서 다 그렇습니다.
: :
: : 숫자로 만들고 사칙연산을 해야 하지요.
: :
: : 장경선 님이 쓰신 글 :
: : : 제목과 같은데 왜 더하기는 붙여넣기가 되고 다른 연산들은 제대로 작동하는지
: : : 모르겠습니다.
: : : source1과 form이 있는데 source1은 소스 코드를, form은 컴포넌트 입니다.
: : :
: : : 덧셈에서는 StrToInt() 함수를 써야지 제대로 된 결과가 나오네요.
: : :
: : : 빌더에서만 이러는 건지 아니면 델파이에서도 그런 건지 모르겠네요.
: : :
: : : 왜 그런지 알려주시면 감사하겠습니다.
:
:
: 덧셈하면 문자열끼리는 합치는 건 알겠는데, -, *, / 연산은 잘 된다는 점입니다.
: 유독 +만 문자열 연산이 되어서 말하는 겁니다.

원래는 TextBox 의 값은 문자열이기 때문에 숫자형식으로 변경해서 사용하는 것이 정상입니다.
더하기 연산의 경우 UnicodeString 타입의 + 연산자 오버로딩이 적용이 되어서 문자열끼리 연결하도록 코드 진행이 되었을 것이고
나머지 연산은 저도 이번에 처음 알았는데 아마도 컴파일러 내부적으로 문자열을 숫자로 변경하도록 설계가 된 모양입니다.

늘 문자열은 숫자형식으로 변경해서 사용했지 때문에 전혀 인지를 못했네요



+ -

관련 글 리스트
78201 사칙연산 프로그램인데 더하기 연산이 안되요. 장경선 74 2025/11/02
78203     Re:사칙연산 프로그램인데 더하기 연산이 안되요. 정성훈.해미 56 2025/11/03
78205         Re:Re:사칙연산 프로그램인데 더하기 연산이 안되요. 장경선 65 2025/11/03
78204         Re:Re:사칙연산 프로그램인데 더하기 연산이 안되요. 장경선 58 2025/11/03
78206             Re:Re:Re:사칙연산 프로그램인데 더하기 연산이 안되요. 김시환 25 2025/11/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.