로그인 유지
이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.
2013.01.21 11:09
신강현님..
rnd로 숫자를 비교하면..
rnd는 실수이기 때문에 소수점 아래 자리수가 참 많죠.. 정수로는 조건을 맞추기가 힘들 것 같구요..
또한 Label.Width도 정수로 지정한다고 정수로 딱 값을 갖지 않는 경우가 많아서..
둘다 정수로 강제 변환하는 int함수를 사용하셔서 정수로 변환 후 비교하시면 될 것 같습니다.
rnd함수는 0부터 1까지의 실수를 리턴하는 함수니까요..
0부터 50까지 리턴하게 하려면 rnd*50 하시면 됩니다.
If int(.Label1.Width) = int(rnd*50) then
범위가 넓으면 넓을 수록 조건이 맞아서 Loop를 Exit하는 확율은 떨어집니다.. ^^
굳이 소숫점 1자리까지 맞추고 싶으면 아래처럼 변형하면 되겠지요..
If int(.Label1.Width*10) = int(rnd*50*10) then
도움이 되셨기를..
새 창으로
선택한 기호
신강현님..
rnd로 숫자를 비교하면..
rnd는 실수이기 때문에 소수점 아래 자리수가 참 많죠.. 정수로는 조건을 맞추기가 힘들 것 같구요..
또한 Label.Width도 정수로 지정한다고 정수로 딱 값을 갖지 않는 경우가 많아서..
둘다 정수로 강제 변환하는 int함수를 사용하셔서 정수로 변환 후 비교하시면 될 것 같습니다.
rnd함수는 0부터 1까지의 실수를 리턴하는 함수니까요..
0부터 50까지 리턴하게 하려면 rnd*50 하시면 됩니다.
If int(.Label1.Width) = int(rnd*50) then
범위가 넓으면 넓을 수록 조건이 맞아서 Loop를 Exit하는 확율은 떨어집니다.. ^^
굳이 소숫점 1자리까지 맞추고 싶으면 아래처럼 변형하면 되겠지요..
If int(.Label1.Width*10) = int(rnd*50*10) then
도움이 되셨기를..