모듈:베이스 컨버트/샌드박스
Module| 모듈 샌드박스 페이지는 다음과 같습니다.Base Convert(diff). |
{{binary}, {{octal}, {{hexadecimal}} 등과 같은 템플릿에서 사용할 수 있도록 숫자를 2에서 36 사이의 지정된 기준으로 변환합니다.
사용.
현지의 베이스 컨버트 = 요구하다('모듈:베이스 컨버트') 베이스 컨버트.개종시키다({n = 14600926, 기초 = 16}) -- 'DECADE'를 반환합니다. 인수:
- n - (필수) 문자열로서 변환되는 번호.입력 베이스가 10인 경우는, 대신에 수치일 가능성이 있습니다.
- base - (필수) 번호를 변환하는 베이스.2에서 36 사이일 수도 있어요
- from - 입력의 베이스.기본값은 10(또는 입력에 선행 '0x'가 있는 경우 16)입니다.입력에 부분적인 부분이 있는 경우 10 이외의 베이스는 지원되지 않습니다.
- precision - 기수점 뒤에 렌더링되는 자릿수.필요에 따라 후행 0이 추가됩니다.지정하지 않을 경우 필요한 숫자(최대 10자리)가 표시됩니다.
- width - 기수점 전에 렌더링할 최소 자리 수.필요한 경우 선행 0이 추가됩니다.
- default - n이 비어 있거나 숫자가 아닌 경우 반환되는 값.기본값은 n 입니다.
- prefix / suffix - 반환된 결과 전후에 추가할 Wikitext.n이 비어 있거나 숫자가 아닌 경우에는 추가되지 않습니다.예를 들어 다음과 같은 접두사를 사용할 수 있습니다.
0x16진수 또는 접미사로 변환할 때<sub>8</sub>8진수로 변환할 때.
템플릿에서
Wikimarkup에서 이 모듈은 함수 이름으로 호출될 수 있습니다.ntom예:
| 마크업 | 로 렌더링하다 |
|---|---|
{{#제외:BaseConvert 16~10 FF }} | 255 |
{{#제외:BaseConvert 10 to 36 500} | DW |
{{#제외:BaseConvert 10 to 16 Foo 기본값=0} | 0 |
위의 모든 옵션이 지원됩니다. base=, from=그리고. n=필수 옵션에 의해 설정됩니다.
엣지
| 마크업 | 로 렌더링하다 |
|---|---|
{{#제외:BaseConvert 10 to 10 500} | 500 |
{{#제외:BaseConvert 10 to 10 FooBar} | 푸바 |
{{#제외:BaseConvert 10 to 10 FooBar 기본값=} | |
{{#제외:Base Convert 10 to 16 Foo} | 푸우 |
현지의 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*