|
소스자료실 - 창조 소스를 공유하는 곳입니다. 첨부가능 확장자는 *.zip,*.rar,*.arj,*.exe,*.jpg,*.png,*.gif,*.cuf,*.nhp,*.nhw 입니다. |
 | Posted by 지상현 | 2011-01-19 02:49:25, Hit : 6963 |  |
|
|
|
문을수()가 슬프게도 '소숫점'을 인식하지 않는 바람에 만들게 된 함수입니다.
세번째 판올림이지만, 갈아엎고 처음부터 다시 만들었습니다.
- '기본값' 인자를 추가했습니다. 이제 문을수()와 사용법이 똑같아졌습니다.
- 이제 "5." 이나 ".14" 같은 포맷도 지원합니다.
- 구조를 미묘하게 개선했습니다.
- 최소화 버전(문을실수-3.0.min.cuf)을 지원합니다.
버전 2 "문을실수" 함수 완성!
버전 1 [버그보고] "문을수" 함수 버그...
사용하실 때는 압축 파일에 들어있는 파일 중 "문을실수-3.0.min.cuf"를 사용하시는게 좋습니다.
복사용 코드
실수함수: 문을실수( 문자: 문; 실수: 기본값 );
//------------------------------------------------------------------------------
결과:=기본값;문:=공백제거(문);만일(문="" 또는 문="." 또는 문="e" 또는 문="E")나가
;문자:자;실수:상태,코드;실수:수,합,길이,부호,지수;부호:=1;지수:=0.1;길이:=문자길이
(문);자:=문자복사(문,1,1);만일(자="-")부호:=-1;만일(자="+" 또는 자="-")수:=1;수:=
수+1;되풀이(수<=길이){자:=문자복사(문,수,1);코드:=문수(자)-48;만일(상태=0){만일(자
>="0" 그리고 자<="9")합:=합*10+코드;아니면 만일(자=".")상태:=1;아니면 만일(자="E"
또는 자="e")상태:=2;아니면 나가;}아니면 만일(상태=1){만일(자>="0" 그리고 자<="9"
)합:=합+코드*지수;아니면 만일(자="E" 또는 자="e")상태:=2;아니면 나가;지수:=지수*0.1
;}아니면 만일(상태=2){자:=문자삭제(문,1,수-1);지수:=문을수(자,0);만일(지수<>문을수
(자,1))나가;수:=길이;합:=합*제곱(10,지수);}수:=수+1;}결과:=부호*합;
* 지상현님에 의해서 게시물 이동되었습니다 (2011-01-19 03:48) |
|
|
바람 2012-01-02 AM 1:21:23 |
|
|
|
'문을수' 함수의 버그때문에 지상현님의 '문을실수' 함수를 가져다 잘 사용하고 있습니다.
항상 좋은 소스 감사드립니다.
소스 제작시 의도 되어진 것인지는 모르겠으나, '문을실수' 함수 사용중에 특이한 점이 발견되어, 혹시라도 버그인지 몰라 글 남깁니다.
창0.제목:=수를문(사용자함수0.문을실수( "3333333333333333", 0));
결과 : 3.33333333333333E+15
테스트한 숫자 3으로는, 일단 15자리 수까진 정상 출력되는듯 합니다.
16자리 수가 되는 순간 소수점이 붙으면서 위와같이 바뀌더군요.
16자리 수를 사용할 일은 거의 없어서 문제는 안될듯하구요.
내장 함수인 '문을수'는 9~10자리 이상 일정 수가 넘으면 오류나더군요. |
|
|
지상현 2012-01-02 AM 8:37:41 |
|
|
|
정상 동작입니다.
랄까 제가 의도한 것이 아닌, 시스템의 기본 동작입니다.
댓글로 길게 쓸 게 아니라, 나중에 팁 페이지에다가 정리하는게 낫겠군요. |
|
|
지상현 2012-01-04 PM 3:43:27 |
|
|
|
얘를 만들게 된 이유가, '문을수' 함수는 실수가 아니라 문자→정수로 바꿔주는 바람에
1. 소수점(.)이 들어간 문자열은 아예 숫자로 인식도 안 한다
2. '실수'로 15자리까지는 표현할 수 있는데 정수는 유효 자리가 십진수 9자리 정도라 큰 숫자는 안 바뀐다
를 해결하기 위해서였습니다. 만들고 보니 예전에 이상한 버그가 있던 프로그램도 전부 '문을수' 함수 때문에 그런 거더군요 -_-; |
|
 |
지우개 Expert 3.0 제작자 : 천호성 님 [LINK] |
|
|
 |
대박로또2005 제작자 : 최재일 님 [LINK] |
|
|
1 | 박종훈 님 | 15292 점 | |
2 | 지상현 님 | 8809 점 | |
3 | 손상진 님 | 7389 점 | |
4 | 권선중 님 | 6077 점 | |
5 | 이진백 님 | 5174 점 | |
|
|
|
가입일 | 닉네임 |
05/31 | 김동률 |
03/31 | 홍형기 |
09/01 | o00pp99oo |
12/27 | 이재민 |
11/20 | 이희철 |
|
|
|
|
. |
. |
. |
|