문을수 함수 버그입니다. 아시는 분은 다들 아시겠지만 -_-;
문을수 함수는 "정수"만 숫자로 바꿔줍니다. 아마 델파이에서 IntToStr 함수같더군요 -_-; 문제는, 실수는 제대로 안나온다는... 1.3 을 숫자가 아니라고 인식하더군요.
어쨌든, 제가 생각나는대로 "소수"까지는 인식하도록 함수를 새로 만들었습니다. 필요하신 분들은 참고를...-_-a
사용자정의 함수에 만들어놓고 쓰시면 편할겁니다.
//------------------------------------------------------
실수함수:문을실수(문자:문);
//------------------------------------------------------
// 소수점 구분 기호를 찾아내서 지표를 얻는다.
// 12.34 면 (점위치)-(전체길이).... 3-5 = -2
// 즉, 1234에 10^(-2) 를 곱한 것이다.
실수:전체길이,점위치,지표;
문자:정수화;
점위치 := 문자찾아(".",문);
만일(점위치 = 0) {
결과 := 문을수(문,0); // 소수가 아니면 그냥
}
아니면 {
전체길이 := 문자길이(문);
지표 := 점위치-전체길이;
// . 을 지운다
정수화 := 문자삭제(문,점위치,1);
결과 := 문을수(정수화,0)*제곱(10,지표);
}
버그 발견! 음수 처리 못합니다 -_- |