모듈:베이스 컨버트/샌드박스

Module
현지의 p = {}  현지의 숫자 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'  현지의 기능. 정상화하다전폭 문자(s)  돌아가다 .스트링.서브(s, '[!-~]', 기능.(s)   돌아가다 .스트링.(.스트링.코드 포인트(s, 1) - 0xFEE0)  끝.) 끝.  현지의 기능. _개요(n, 기초, 부터, 정확, , 체납, 접두사, 접미사)  n = 스트링(n)   -- 선행 '0x'를 모두 제거합니다(x가 입력 베이스의 유효한 숫자가 아닌 경우).  부터 = 톤수(부터)  한다면 것은 아니다. 부터 또는 부터 < > 34 그리고나서   현지의 c   n, c = n:서브('^(-?)0[XX]', '%1')   한다면 c > 0 그리고. 것은 아니다. 부터 그리고나서 부터 = 16 끝.  끝.   -- 음의 부호가 없는지 확인합니다.입력이 문자열 형식일 때 이 작업을 수행합니다.  --tonumber는 10이 아닌 베이스에서는 음수를 지원하지 않기 때문입니다.  현지의 서명하다 = ''  현지의 c  n, c = n:서브('^-', '')  한다면 c > 0 그리고나서 서명하다 = '-' 끝.   -- 문자열의 모든 Unicode 전폭 문자를 ASCII와 동등한 문자로 바꿉니다.  n = 정상화하다전폭 문자(n)   -- 'e' 주위에 공백이 있는 과학적 표기법을 취급한다(예: '5 e7').  n = n:서브(%s*[E]%s*', 'e')   부터 = 부터 또는 10  현지의 숫자 = 톤수(n, 부터)  기초 = 톤수(기초)  정확 = 톤수(정확)   = 톤수()   한다면 것은 아니다. 숫자 또는 것은 아니다. 기초 그리고나서 돌아가다 체납 또는 n 끝.   현지의 i, f = math.modf(숫자)   현지의 t = {}  따라하다   현지의 d = (i % 기초) + 1   i = math.floor(i / 기초)   table.insert(t, 1, 숫자:후보선수(d, d))  까지 i == 0  하는 동안에 #t < > ( 또는 0) 하다   table.insert(t, 1, '0')  끝.  현지의 내부 부품 = table.concat(t, '')   -- 분수 부분을 계산합니다.  현지의 TF = {}  하는 동안에 f > 0 그리고. #TF < > (정확 또는 10) 하다   f = f * 기초   i, f = math.modf(f)   table.insert(TF, 숫자:후보선수(i + 1, i + 1))  끝.   -- 필요에 따라 후행 0을 추가합니다.  한다면 정확 그리고. #TF < > 정확 그리고나서   위해서 i = 1, 정확 - #TF 하다    table.insert(TF, '0')   끝.  끝.   현지의 부품 = table.concat(TF, '')   -- 불필요한 경우 후행 0을 삭제합니다.  한다면 것은 아니다. 정확 그리고나서   부품 = 부품:서브('0*
                
, '') 끝. --필요한 경우 기수점을 추가합니다. 한다면 #부품 > 0 그리고나서 부품 = '.' .. 부품 끝. 돌아가다 (접두사 또는 '') .. 서명하다 .. 내부 부품 .. 부품 .. (접미사 또는 '') 끝. 기능. p.개종시키다() -- #invoke를 통한 호출 또는 다른 모듈에서 직접 호출 허용 현지의 args 한다면 == .get Current Frame(전류 프레임)() 그리고나서 args = .args 또 다른 args = 끝. 현지의 n = args.n 현지의 기초 = args.기초 현지의 부터 = args.부터 현지의 정확 = args.정확 현지의 = args. 현지의 체납 = args.체납 현지의 접두사 = args.접두사 현지의 접미사 = args.접미사 돌아가다 _개요(n, 기초, 부터, 정확, , 체납, 접두사, 접미사) 끝. 설정 가능한(p, { __인덱스 = 기능.(t, k) 현지의 부터, 기초 = k:경기('^([0-9]+) to([0-9]+)
$$SIDE_BOTTOM$$
    $$BOTTOM$$