Permanently protected module

모듈:포맷 번호

Module

-- 이 모듈은 템플릿의 기능을 대체하는 것을 목적으로 합니다.Formatnum 및 관련 템플릿.  현지의 p = {}  기능. p.주된()     현지의 args = :부모 취득().args     현지의 사전    = args.사전 또는 ''     현지의 세프     = args.세프 또는 ''     현지의 번호  = args[1] 또는 args.번호 또는 ''     현지의 언어    = args[2] 또는 args.언어 또는 ''     -- 미디어 내의 언어 파라미터를 확인합니다.Wiki 발신자 프레임     한다면 언어 == "대화-대화" 그리고나서 --백호환성('arabic-indic'은 Supported Language가 아닙니다)에 한합니다.         언어 = "fa" -- "ks"보다 더 나은 지원     그렇지 않으면 언어 == '' 또는 것은 아니다. .언어.is Supported Language(지원 언어)(언어) 그리고나서         -- 「 Supported Languages 」는 반드시 「BuiltinValidCodes」는 아니기 때문에, 반드시 「BuiltinValidCodes」는 아닙니다.         -- 'KnownLanguages' (최소한 로컬 Wiki의 기본 현지화에서 정의된 언어 이름)         -- 단, 모두 유효한 언어 코드(Wiki 서브페이지 또는 식별자로 적합: 슬래시, 콜론, HTML 태그 또는 엔티티 없음)입니다.         또한 페이지 제목에 고유하기 위해 대문자를 포함하지 않는다(BCP47에는 제한이 없다).         -- 단, MediaWiki의 특정 요구에 대한 BCP47 언어 태그의 표준 형식을 위반할 수 있습니다.         -- 빈 언어, 지정되지 않은 언어 및 지원되지 않는 언어는 사용자의 언어를 사용하여 이곳 커먼스에서 취급됩니다.         -- Wiki의 로컬 'ContentLanguage' 대신.         언어 = :callParser 기능( "int", "실패" ) --사용자가 선택한 언어를 가져옵니다.     끝.     돌아가다 p.format Num(번호, 언어, 사전, 세프 ~= '') 끝.  현지의 숫자 = { -- MediaWiki의 핵심 Lua 라이브러리에서 mw.language: formatNum()에서 지원되지 않는 언어의 십진수 치환     ["ml-old"] = { '൦', '൧', '൨', '൩', '൪', '൫', '൬', '൭', '൮', '൯' },     ["mn"]     = { '᠐', '᠑', '᠒', '᠓', '᠔', '᠕', '᠖', '᠗', '᠘', '᠙'},     ['타']     = { '௦', '௧', '௨', '௩', '௪', '௫', '௬', '௭', '௮', '௯'},     ["te"]     = { '౦', '౧', '౨', '౩', '౪', '౫', '౬', '౭', '౮', '౯'},     ["th"]     = { '๐', '๑', '๒', '๓', '๔', '๕', '๖', '๗', '๘', '๙'} }  기능. p.format Num(번호, 언어, 사전, 작은)      -- 지정한 값이 유효한 숫자가 아닌 경우 변경하지 않고 그대로 반환합니다.     현지의 가치 = 톤수(번호)     한다면 가치 == 제로 그리고나서         돌아가다 번호     끝.     -- ASCII만의 기본 포맷(패딩 없음)     번호 = 스트링(가치)      -- 지수(mw.language에서 올바르게 관리되지 않음)가 존재하는지 확인합니다.FormatNum() 및 내부 버그(힌디어 등) 때문에 잊어버린 경우도 있습니다.     현지의 지수     현지의 포스 = string.find(번호, '[이]')     한다면 포스 ~= 제로 그리고나서         지수 = 스트링.서브(번호, 포스 + 1, string.len을 클릭합니다.(번호))         번호 = 스트링.서브(번호, 1, 포스 - 1)     또 다른         지수 = ''     끝.      -- 의뢰한 최소 정밀도 확인     사전 = 톤수(사전) -- 참된 숫자로 지정되지 않은 경우 null     한다면 사전 ~= 제로 그리고나서         사전 = math.floor(사전)         한다면 사전 < > 0 그리고나서             사전 = 제로 --정수가 아닌 잘못된 정밀도를 폐기합니다.         그렇지 않으면 사전 > 14 그리고나서             사전 = 14 -- torstring(숫자)에 의해 지원되는 최대 정밀도         끝.     끝.      -- ASCII 문자열의 최소 정밀도를 사전 처리합니다.     현지의      한다면 (사전 또는 0) > 0 그리고나서         포스 = string.find(번호, '.', 1, 진실의) -- 플레인 검색, regexp 없음         한다면 포스 ~= 제로 그리고나서             사전 = 포스 + 사전 - string.len을 클릭합니다.(번호) -- 추가 또는 삭제할 후행 소수점의 유효 수              = '' -- 이미 존재합니다.         또 다른              = '.' -- 추가해야 합니다.         끝.     또 다른          = '' -- 점 추가 안 함         사전 = 0 -- 정밀도는 변경하지 않습니다.     끝.      한다면 언어 ~= 제로 그리고. .언어.isKnownLanguageTag(언어) == 진실의 그리고나서         -- 번호를 현지화된 숫자, 소수 구분자 및 그룹 구분자로 변환합니다.         현지의 언어 = .get Language(언어)         한다면 작은 그리고나서             번호 = 언어:format Num(톤수(번호), { 통신 없음 = 'y' }) --경고: 최대 20개 언어의 현지화된 리소스를 로드할 수 있습니다.         또 다른             번호 = 언어:format Num(톤수(번호)) --경고: 최대 20개 언어의 현지화된 리소스를 로드할 수 있습니다.         끝.         -- 정밀도 후처리         한다면 사전 > 0 그리고나서             현지의  = 언어:format Num(0)             번호 = 번호 ..  .. .스트링.대표자(, 사전)         그렇지 않으면 사전 < > 0 그리고나서             -- TODO: 마지막 소수점 반올림. 여기서는 소수점만 초과하여 잘라냅니다.             번호 = .스트링.후보선수(번호, 1, .스트링.(번호) + 사전)         끝.          -- 구분 기호를 그룹화하지 않고 현지화된 base-10 지수를 추가합니다(현지화된 선행 기호 'E'를 검출하는 신뢰할 수 있는 방법은 없습니다).         한다면 지수 ~= '' 그리고나서             번호 = 번호 .. 'E' .. 언어:format Num(톤수(지수),{통신 없음=진실의})         끝.     또 다른 -- 현지화되지 않고 ASCII만         -- 정밀도 후처리         한다면 사전 > 0 그리고나서             번호 = 번호 ..  .. .스트링.대표자('0', 사전)         그렇지 않으면 사전 < > 0 그리고나서             -- TODO: 마지막 소수점 반올림. 여기서는 소수점만 초과하여 잘라냅니다.             번호 = .스트링.후보선수(번호, 1, .스트링.(번호) + 사전)         끝.          -- base-10 지수를 추가합니다.         한다면 지수 ~= '' 그리고나서             번호 = 번호 .. 'E' .. 지수         끝.     끝.      -- ASCII 번호 치환의 특수한 경우(일부 언어의 경우 Lua 코어 라이브러리에서 지원되지 않음)     한다면 숫자[언어] 그리고나서         위해서 i, v  아이페어(숫자[언어]) 하다             번호 = .스트링.서브(번호, 스트링(i - 1), v)         끝.     끝.      돌아가다 번호 끝.  돌아가다 p