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
[36911] [답변] TrackBar의 사용, 실수를 정수로
정성훈.해미 [sage5nor] 1605 읽음    2004-08-20 16:58
정수형 변수에 실수형 값을 넣으면 자동으로 소수점 이하는 없어집니다.

[예]
int a;
double b=12.3456;

a = b;

// a값은 12


그리고 다음의 내용이 TrackBar의 사용에 도움이 되었으면 합니다.

기본값으로 TrackBar의 Min=0, Max=10으로 되어 있습니다.
하지만 보통 Max를 100이상으로 설정합니다.
Min과 Max의 차이가 크면 클수록 트랙바에 세밀하게 표현할 수 있습니다.

[예]
표현할 Data의 범위가 0 ~ 1 이고, 증가값이 0.001일때

TrackBar1에 이 값을 표현해 보겠습니다.

오브젝트 인스펙터에서 TrackBar1의 Min=0, Max=1000으로 설정.

소스코드에

TrackBar1->Position = Data*1000;

이렇게하면 이쁘게(?) 표시됩니다.

-----------------------------------------------
일반적인 공식(?)으로 만들면 다음과 같습니다.

TrackBar1->Position = D_Pos * (TrackBar1->Max - TrackBar1->Min) / (D_Max - D_Min);

//Data의 최소값: D_Min
//Data의 최대값: D_Max
//Data의 현재값: D_Pos

--------------------------------------
작은 생각이 세상을 바꾼다 - 정성훈.해미 -
--------------------------------------


김준원 님이 쓰신 글 :
: TrackBar에 Double 의 값을 표시하고 싶습니다만....
:
: TrackBar가 int 형의 수치만 되는것 같은데... 어찌 할 수 없는건지요??? 혹은 이를 대체할 뭔가 라던지 ㅡㅡ;;;
:
: 그리고 Double 의 값에 보면 소수점이 있지 않습니까??? 그 값을 어떻게 하면 int 값으로 바꿔 넣어줄 수 있나요???
:
: Ex) 12.21345135 를 12 로만 표시해주면 됩니다만... 그러면 int 에 들어가겠죠???
:
: 반올림 작업을 해주는 그런 함수가 있는걸로 아는데 그거 혹시 뭔지 아시는분

+ -

관련 글 리스트
36906 TrackBar 에 Double 의 값을 표시하려면 어떻게 해야되나요??? 김준원 1003 2004/08/20
36911     [답변] TrackBar의 사용, 실수를 정수로 정성훈.해미 1605 2004/08/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.