|
정수형 변수에 실수형 값을 넣으면 자동으로 소수점 이하는 없어집니다.
[예]
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 에 들어가겠죠???
:
: 반올림 작업을 해주는 그런 함수가 있는걸로 아는데 그거 혹시 뭔지 아시는분
|