CINXE.COM
Module:Formatnum - Wikimedia Commons
<!DOCTYPE html> <html class="client-nojs" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Module:Formatnum - Wikimedia Commons</title> <script>(function(){var className="client-js";var cookie=document.cookie.match(/(?:^|; )commonswikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"abf43e82-4084-493d-a376-92822e962129","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Module:Formatnum","wgTitle":"Formatnum","wgCurRevisionId":863883994,"wgRevisionId":863883994,"wgArticleId":30008187,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"], "wgCategories":["Protected pages","Modules for general use","Modules subject to page protection"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Module:Formatnum","wgRelevantArticleId":30008187,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":["sysop"],"wgNoticeProject":"commons","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":false,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":6000,"upwizPropertyTitles":{"P180":"Main subjects visible in this work"},"upwizPropertyPlaceholders":{"P180":"e.g., Angolan giraffe"},"upwizPropertyCopyLabels":{"P180":"Main subjects"},"wgEditSubmitButtonLabelPublish":true, "wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q98399163","wbmiDefaultProperties":["P180"],"wbmiPropertyTitles":{"P180":"Items portrayed in this file"},"wbmiPropertyTypes":{"P180":"wikibase-item"},"wbmiRepoApiUrl":"/w/api.php","wbmiHelpUrls":{"P180":"https://commons.wikimedia.org/wiki/Special:MyLanguage/Commons:Depicts"},"wbmiExternalEntitySearchBaseUri":"https://www.wikidata.org/w/api.php","wbmiSupportedDataTypes":["wikibase-item","string","quantity","time","monolingualtext","external-id","globe-coordinate","url"],"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.gadget.Long-Image-Names-in-Categories":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.pygments": "ready","skins.vector.styles.legacy":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","codex-search-styles":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","site","mediawiki.page.ready","skins.vector.legacy.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.Slideshow","ext.gadget.ZoomViewer","ext.gadget.CollapsibleTemplates","ext.gadget.fastcci","ext.gadget.Stockphoto","ext.gadget.WatchlistNotice","ext.gadget.AjaxQuickDelete","ext.gadget.WikiMiniAtlas","ext.gadget.LanguageSelect","ext.gadget.PictureOfTheYearEnhancements","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.wikimediaEvents.wikibase","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.checkUser.clientHints"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=codex-search-styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cskins.vector.styles.legacy%7Cwikibase.client.init&only=styles&skin=vector"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.gadget.Long-Image-Names-in-Categories&only=styles&skin=vector"> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector"> <meta name="generator" content="MediaWiki 1.44.0-wmf.6"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Module:Formatnum - Wikimedia Commons"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//commons.m.wikimedia.org/wiki/Module:Formatnum"> <link rel="apple-touch-icon" href="/static/apple-touch/commons.png"> <link rel="icon" href="/static/favicon/commons.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikimedia Commons"> <link rel="EditURI" type="application/rsd+xml" href="//commons.wikimedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://commons.wikimedia.org/wiki/Module:Formatnum"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="Wikimedia Commons Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject page-Module_Formatnum rootpage-Module_Formatnum skin-vector action-view"><div id="mw-page-base" class="noprint"></div> <div id="mw-head-base" class="noprint"></div> <div id="content" class="mw-body" role="main"> <a id="top"></a> <div id="siteNotice"><!-- CentralNotice --></div> <div class="mw-indicators"> <div id="mw-indicator-protected" class="mw-indicator"><div class="mw-parser-output"><span typeof="mw:File"><a href="/wiki/Special:MyLanguage/Commons:Protection_policy" title="This page is protected against editing."><img alt="This page is protected against editing." src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/20px-Full-protection-shackle-block.svg.png" decoding="async" width="20" height="20" class="mw-file-element" srcset="https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/30px-Full-protection-shackle-block.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/40px-Full-protection-shackle-block.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></div></div> </div> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Module</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Formatnum</span></h1> <div id="bodyContent" class="vector-body"> <div id="siteSub" class="noprint">From Wikimedia Commons, the free media repository</div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="contentSub2"></div> <div id="jump-to-nav"></div> <a class="mw-jump-link" href="#mw-head">Jump to navigation</a> <a class="mw-jump-link" href="#searchInput">Jump to search</a> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div style="float:right"><div style="position:relative"> <div style="width:100px;height:100px;border-radius: 50%;;background-color:#19198A"></div> <div style="position:absolute;top:40px;color:#fff;font-family:Helvetica,Arial,sans-serif;font-weight:bold;font-size:52.5px;line-height:52.5px;">Lua</div> <div style="width:26.7px;height:26.7px;border-radius: 50%;;background-color:#fff;position:absolute;top:13.138699525547px;left:60.161300474453px"></div> </div></div><p><span class="plainlinks"> <a class="mw-selflink-fragment" href="#com-module-code"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">Code</span></span></a><a href="/wiki/Module_talk:Formatnum" title="Module talk:Formatnum"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">Discussion</span></span></a><a class="external text" href="https://commons.wikimedia.org/w/index.php?title=Module:Formatnum&action=edit"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">Edit</span></span></a><a class="external text" href="https://commons.wikimedia.org/w/index.php?title=Module:Formatnum&action=history"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">History</span></span></a><a class="external text" href="https://commons.wikimedia.org/w/index.php?title=Special:WhatLinksHere/:Module:Formatnum&limit=999"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">Links</span></span></a><a class="external text" href="https://tools.wmflabs.org/templatecount/index.php?lang=commons&namespace=828&name=Formatnum"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:o-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:-webkit-linear-gradient(top,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);background-image:linear-gradient(to bottom,#d9dcdd 0%, #bfc7cc 50%, #aab8bf 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:o-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:-webkit-linear-gradient(top,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);background-image:linear-gradient(to bottom,#f2f6f8 0%, #d8e1e7 50%, #c3d4dd 100%);; padding:.8em;">Link count</span></span></a> <a href="/wiki/Special:PrefixIndex/Module:Formatnum" title="Special:PrefixIndex/Module:Formatnum"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Subpages:</span></span></a><a href="/wiki/Special:MyLanguage/Module:Formatnum/doc" title="Special:MyLanguage/Module:Formatnum/doc"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Documentation</span></span></a><a href="/wiki/Module:Formatnum/testcases" title="Module:Formatnum/testcases"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Tests</span></span></a><a href="/wiki/Module_talk:Formatnum/testcases" title="Module talk:Formatnum/testcases"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Results</span></span></a><a href="/wiki/Module:Formatnum/sandbox" title="Module:Formatnum/sandbox"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Sandbox</span></span></a><a class="mw-selflink selflink"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:o-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:-webkit-linear-gradient(top,#c4ceb9 0%, #a8b79a 100%);background-image:linear-gradient(to bottom,#c4ceb9 0%, #a8b79a 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:o-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:-webkit-linear-gradient(top,#ebf7de 0%, #cee0bc 100%);background-image:linear-gradient(to bottom,#ebf7de 0%, #cee0bc 100%);; padding:.8em;">Live code</span></span></a> <a href="/wiki/Special:PrefixIndex/Module:" title="Special:PrefixIndex/Module:"><span style="display:inline-block; padding:0 1px 0 0; background-image:-moz-linear-gradient(top,#d6d4c7 0%, #c4bb8b 100%);background-image:o-linear-gradient(top,#d6d4c7 0%, #c4bb8b 100%);background-image:-webkit-linear-gradient(top,#d6d4c7 0%, #c4bb8b 100%);background-image:linear-gradient(to bottom,#d6d4c7 0%, #c4bb8b 100%);;"><span style="display:inline-block;background-image:-moz-linear-gradient(top,#fefcea 0%, #ede3a6 100%);background-image:o-linear-gradient(top,#fefcea 0%, #ede3a6 100%);background-image:-webkit-linear-gradient(top,#fefcea 0%, #ede3a6 100%);background-image:linear-gradient(to bottom,#fefcea 0%, #ede3a6 100%);; padding:.8em;">All modules</span></span></a></span> <style data-mw-deduplicate="TemplateStyles:r965327071">.mw-parser-output .messagebox{margin:4px 0;width:auto;border-collapse:collapse;border:2px solid var(--border-color-progressive--hover,#48d);background-color:var(--background-color-neutral-subtle,#fbfcff);box-sizing:border-box;border-inline-start-width:8px}.mw-parser-output .messagebox.mbox-small{font-size:88%;line-height:1.25em}.mw-parser-output .mbox-warning,.mw-parser-output .mbox-speedy{border:2px solid var(--border-color-error,#b22222);background:var(--background-color-error-subtle,#ffdbdb);border-inline-start-width:8px}.mw-parser-output .mbox-serious,.mw-parser-output .mbox-delete,.mw-parser-output .mbox-stop{border:2px solid var(--border-color-error,#b22222);border-inline-start-width:8px}.mw-parser-output .mbox-issue,.mw-parser-output .mbox-content{border:2px solid #f28500;background:var(--background-color-warning-subtle,#ffe);border-inline-start-width:8px}.mw-parser-output .mbox-query,.mw-parser-output .mbox-style{border:2px solid #f4c430;background:var(--background-color-warning-subtle,#ffe);border-inline-start-width:8px}.mw-parser-output .mbox-shit{border:2px solid #960;border-inline-start-width:8px}.mw-parser-output .mbox-license{border:2px solid #88a;border-inline-start-width:initial}.mw-parser-output .mbox-legal{border:2px solid var(--border-color-notice,#666);background:var(--background-color-base,#fff);border-inline-start-width:8px}.mw-parser-output .mbox-honor{border:2px solid #ca3;background:var(--background-color-warning-subtle,#fcf4db);border-inline-start-width:8px}.mw-parser-output .mbox-growth{border:2px solid #8d4;background:var(--background-color-success-subtle,#d5fdf4);border-inline-start-width:8px}.mw-parser-output .mbox-move{border:2px solid #93c;border-inline-start-width:8px}.mw-parser-output .mbox-protection,.mw-parser-output .mbox-message{border:2px solid var(--border-color-base,#aaa);border-inline-start-width:8px}.mw-parser-output .messagebox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .messagebox .mbox-image{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .messagebox .mbox-imageright{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .messagebox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .messagebox .mbox-invalid-type{text-align:center}@media(min-width:720px){.mw-parser-output .messagebox{margin:4px 10%}.mw-parser-output .messagebox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;width:238px}}body.skin--responsive .mw-parser-output table.messagebox img{max-width:none!important}</style></p><table class="plainlinks messagebox mbox-notice" role="presentation" style="background:var(--background-color-interactive-subtle,#f8f9fa);margin-left:5.2em;width: 80%"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Green_check.svg/40px-Green_check.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Green_check.svg/60px-Green_check.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Green_check.svg/80px-Green_check.svg.png 2x" data-file-width="600" data-file-height="600" /></span></span></td><td class="mbox-text">This module is rated as <a href="/wiki/Category:Modules_for_general_use" title="Category:Modules for general use">ready for general use</a>. It has reached a mature form and is thought to be bug-free and ready for use wherever appropriate. To reduce server load and bad output, it should be improved by <a href="https://en.wikipedia.org/wiki/WP:TESTCASES" class="extiw" title="en:WP:TESTCASES">sandbox testing</a> rather than repeated trial-and-error editing.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r965327071"><table class="plainlinks messagebox mbox-notice" role="presentation" style="background:var(--background-color-interactive-subtle,#f8f9fa);margin-left:5.2em;width: 80%"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="Protected" src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/40px-Full-protection-shackle-block.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/60px-Full-protection-shackle-block.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/80px-Full-protection-shackle-block.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td><td class="mbox-text">This module is <a href="/wiki/Category:Modules_subject_to_page_protection" title="Category:Modules subject to page protection">subject to page protection</a>. It is a <a href="https://en.wikipedia.org/wiki/Wikipedia:High-risk_templates" class="extiw" title="en:Wikipedia:High-risk templates">highly visible module</a> in use by a very large number of pages, or is <a href="https://en.wikipedia.org/wiki/WP:SUBST" class="extiw" title="en:WP:SUBST">substituted</a> very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is <a href="https://en.wikipedia.org/wiki/WP:PROTECT" class="extiw" title="en:WP:PROTECT">protected</a> from editing.</td></tr></tbody></table> <table class="protected" style="direction: ltr; background:var(--background-color-base,#fff); border:1px solid var(--border-color-base, #aaa); color: inherit; padding:.2em; margin:.5em auto;"> <tbody><tr> <td style="padding-right:4px; padding-left:4px;"><span typeof="mw:File"><a href="/wiki/Commons:P" title="Protected"><img alt="Protected" src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/40px-Full-protection-shackle-block.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/60px-Full-protection-shackle-block.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/80px-Full-protection-shackle-block.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></td> <td><b>This page has been protected from editing to prevent vandalism.</b><br /><span style="font-size:90%;">Please discuss changes on the <a href="/wiki/Module_talk:Formatnum" title="Module talk:Formatnum">talk page</a> or <a href="/wiki/Commons:AN/P" class="mw-redirect" title="Commons:AN/P">request unprotection</a>. </span></td> </tr> </tbody></table> <p>This module formats a number in the local format, based on MediaWiki data. This module is used by <a href="/wiki/Template:Formatnum" title="Template:Formatnum">Template:Formatnum</a>. For usage instructions, please take a look at <a href="/wiki/Template:Formatnum" title="Template:Formatnum">Template:Formatnum</a>. </p><p>Current limitations: </p> <ul><li>Numbers with more than 14 decimals are not supported.</li> <li>It still does not allow more than 20 different "KnownLanguages" (in MediaWiki's core library for Lua) on one page. This means that you can have at a maximum 20 module transclusions, where each of them is formatting a number into a different language.</li></ul> <p>TODO: </p> <ul><li>Improve these limits by not using mw.formatNum() — and fix the various bugs in that MediaWiki module (including missing or incorrect data for some languages). <ul><li>See <a class="external text" href="https://phabricator.wikimedia.org/diffusion/ELUA/browse/master/engines/LuaCommon/LanguageLibrary.php">/engines/LuaCommon/LanguageLibrary.php</a> in Scribunto PHP library implementing the MediaWiki module.</li> <li>See <a class="external text" href="https://phabricator.wikimedia.org/diffusion/MW/browse/master/languages/Language.php">/languages/Language.php</a> in MediaWiki core library with the default support code for all known languages</li> <li>See <a class="external text" href="https://phabricator.wikimedia.org/diffusion/MW/browse/master/languages/classes">/languages/classes/Language*.php</a> in MediaWiki core library for replacement code specific to some languages</li> <li>See <a class="external text" href="https://phabricator.wikimedia.org/diffusion/MW/browse/master/resources/src/mediawiki.language/mediawiki.language.numbers.js">/resources/src/mediawiki.language/mediawiki.language.numbers.js</a> for similar function in MediaWiki client-side JavaScript library</li></ul></li> <li>Support more languages and localized digits (we need more complete mappings of languages to their numeric scripts for digits, more data for localized separators and the number of digits in groups).</li> <li>Properly handle rounding of the least significant figure when there are decimals in excess for the specified precision, instead of truncating them.</li> <li>Reference data: <ul><li>See <a rel="nofollow" class="external text" href="http://www.unicode.org/cldr/charts/27/by_type/core_data.numbering_systems.html">By-Type Chart: Core Data: Numbering Systems</a> in Unicode CLDR data (mappings of languages to numbering systems) <ul><li><a rel="nofollow" class="external text" href="http://unicode.org/cldr/trac/browser/trunk/common/supplemental/numberingSystems.xml">/common/supplemental/numberingSystems.xml</a> in Unicode CLDR data (digits and algorithms for each numbering system)</li> <li><a rel="nofollow" class="external text" href="http://www.unicode.org/reports/tr35/tr35-numbers.html#Rule-Based_Number_Formatting">Rule-Based Number Formatting</a> in Unicode TR35: LDML (Locale Data Markup Language)</li> <li><a rel="nofollow" class="external text" href="http://www.icu-project.org/apiref/icu4c/classRuleBasedNumberFormat.html#details">icu::RuleBasedNumberFormat Class Reference: Detailed Description</a> in ICU documentation, for the RBNF syntax used in CLDR data for implementing algorithmic number systems.</li></ul></li> <li>See <a rel="nofollow" class="external text" href="http://www.unicode.org/cldr/charts/27/by_type/numbers.symbols.html">By-Type Chart: Numbers: Symbols</a> in Unicode CLDR data (separators, signs, etc.)</li> <li>See <a rel="nofollow" class="external text" href="http://www.unicode.org/cldr/charts/27/by_type/numbers.number_formatting_patterns.html">By-Type Chart: Core Data: Number Formatting Patterns</a> in Unicode CLDR data (formatting numbers using those numbering systems) <ul><li><a rel="nofollow" class="external text" href="http://www.unicode.org/reports/tr35/tr35-numbers.html#Number_Format_Patterns">Number Format Patterns</a> in Unicode TR35: LDML (Locale Data Markup Language)</li></ul></li></ul></li></ul> <div class="mw-heading mw-heading3"><h3 id="Using_this_module_from_templates">Using this module from templates</h3></div> <p>Usage: </p> <dl><dd><code>{{formatnum|1=<i>value</i>|2=<i>lang</i>|prec=<i>prec</i>|sep=<i>compact</i>}}</code></dd></dl> <p>Parameters: </p> <ul><li><b>lang</b> — language code as a string (e.g. 'en', 'de', etc.). If the language is not specified (nil or empty string) or not supported, the current user's language (as reported by MediaWiki's <code>{{int:Lang}}</code>) will be used.</li></ul> <dl><dd>The <b>lang</b> named parameter is also a supported alias of the 2nd parameter.</dd> <dd>The value "arabic-indic" is also currently supported as an alias, and replaced by a supported language code.</dd></dl> <ul><li>See formatNum() below for the expected values and the description of other parameter values.</li></ul> <p>Note: </p> <dl><dd>This template internally uses <code>{{#invoke:Formatnum|main}}</nowiki></code> to pass indirectly its parameters to the main() function of this module in the parent frame.</dd></dl> <div class="mw-heading mw-heading3"><h3 id="formatNum()"><span id="formatNum.28.29"></span>formatNum()</h3></div> <p>This function converts an value into a localized number. </p><p>Unlike "Language:formatNum()" in MediaWiki's core libraries for Lua, it correctly supports numbers using exponential notations such as 1e15 (MediaWiki's core function is currently broken and randomly forgets the exponent for some language, so that its formated numbers are incorrectly scaled and display wrong values). </p><p>Usage: </p> <dl><dd><code>formatted_string = formatnum.formatNum(value, lang, prec, compact)</code></dd></dl> <p>Parameters: </p> <ul><li><b>value</b> — as an ASCII-only number or string. If the string cannot be converted to a number with Lua's tonumber(), that string will be returned as is.</li> <li><b>lang</b> — language code as a string (e.g. 'en', 'de', etc.). If that language is not supported, localized digits and separators will not be used (except for a few languages)</li> <li><b>prec</b> — if not nil and not negative, this is the number of digits in displayed decimals (by truncating the decimals in excess or by adding zeroes). Valid range: 0 to 14. <ul><li>when prec is not specified or nil, the decimal separator is shown only if there are 1 or more visible decimals;</li> <li>when prec is negative or non integer it is treated like nil;</li> <li>when prec is 0, there will never be any decimal separator or any displayed decimals;</li> <li>when prec is positive, a decimal separator will always be present before this number of decimals, but when prec is higher than 14, it is treated like 14.</li></ul></li> <li><b>compact</b> — if this option is not nil and not false, don't return any localized grouping separators (the localized decimal separator and digits are still used).</li></ul> <p>Examples: </p> <ul><li><code>formatted_string = formatnum.formatNum(12345.123)</code> — convert to user's language, using localized digits and separators</li> <li><code>formatted_string = formatnum.formatNum(12345.123,'')</code> — same thing (language code not supported)</li> <li><code>formatted_string = formatnum.formatNum(12345.123,'default')</code> — same thing (language code not supported)</li> <li><code>formatted_string = formatnum.formatNum(12345.123,'en')</code> — convert to English: "12,345.123"</li> <li><code>formatted_string = formatnum.formatNum(12345.123,'fr')</code> — convert to French: "12 345,123"</li> <li><code>formatted_string = formatnum.formatNum(12345.123,'fr',2)</code> — same thing but limit to 2 decimals: "12 345,12"</li> <li><code>formatted_string = formatnum.formatNum(12345,'fr',2)</code> — same thing (2 null decimals are padded): "12 345,00"</li> <li><code>formatted_string = formatnum.formatNum(12345,'fr',2,true)</code> — same thing but without grouping separators: "12345,00"</li></ul> <p>Limitations: </p> <ul><li>Same limit of 20 "KnownLanguages" (because it still depends on mw.Language module in order to detect localized digits and separators).</li> <li>When specifying the "prec" parameter, decimals in excess are just truncated, and the least significant digit is not rounded.</li></ul> <h2 id="Code" id="com-module-code">Code</h2><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos" data-line="1"></span></a><span class="c1">-- This module is intended to replace the functionality of Template:Formatnum and related templates.</span> </span><span id="L-2"><a href="#L-2"><span class="linenos" data-line="2"></span></a><span class="kd">local</span> <span class="n">p</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-3"><a href="#L-3"><span class="linenos" data-line="3"></span></a> </span><span id="L-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">main</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">frame</span><span class="p">:</span><span class="n">getParent</span><span class="p">().</span><span class="n">args</span> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a> <span class="kd">local</span> <span class="n">prec</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">prec</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a> <span class="kd">local</span> <span class="n">sep</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">sep</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a> <span class="kd">local</span> <span class="n">number</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">number</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a> <span class="kd">local</span> <span class="n">lang</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">lang</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a> <span class="c1">-- validate the language parameter within MediaWiki's caller frame</span> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a> <span class="kr">if</span> <span class="n">lang</span> <span class="o">==</span> <span class="s2">"arabic-indic"</span> <span class="kr">then</span> <span class="c1">-- only for back-compatibility ("arabic-indic" is not a SupportedLanguage)</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a> <span class="n">lang</span> <span class="o">=</span> <span class="s2">"fa"</span> <span class="c1">-- better support than "ks"</span> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a> <span class="kr">elseif</span> <span class="n">lang</span> <span class="o">==</span> <span class="s1">''</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">isSupportedLanguage</span><span class="p">(</span><span class="n">lang</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a> <span class="c1">-- Note that 'SupportedLanguages' are not necessarily 'BuiltinValidCodes', and so they are not necessarily</span> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a> <span class="c1">-- 'KnownLanguages' (with a language name defined at least in the default localisation of the local wiki).</span> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a> <span class="c1">-- But they all are ValidLanguageCodes (suitable as Wiki subpages or identifiers: no slash, colon, HTML tags, or entities)</span> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a> <span class="c1">-- In addition, they do not contain any capital letter in order to be unique in page titles (restriction inexistant in BCP47),</span> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a> <span class="c1">-- but they may violate the standard format of BCP47 language tags for specific needs in MediaWiki.</span> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a> <span class="c1">-- Empty/unspecified and unsupported languages are treated here in Commons using the user's language,</span> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a> <span class="c1">-- instead of the local 'ContentLanguage' of the Wiki.</span> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a> <span class="n">lang</span> <span class="o">=</span> <span class="n">frame</span><span class="p">:</span><span class="n">callParserFunction</span><span class="p">(</span> <span class="s2">"int"</span><span class="p">,</span> <span class="s2">"lang"</span> <span class="p">)</span> <span class="c1">-- get user's chosen language</span> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a> <span class="kr">end</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a> <span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">formatNum</span><span class="p">(</span><span class="n">number</span><span class="p">,</span> <span class="n">lang</span><span class="p">,</span> <span class="n">prec</span><span class="p">,</span> <span class="n">sep</span> <span class="o">~=</span> <span class="s1">''</span><span class="p">)</span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a><span class="kr">end</span> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a><span class="kd">local</span> <span class="n">digit</span> <span class="o">=</span> <span class="p">{</span> <span class="c1">-- substitution of decimal digits for languages not supported by mw.language:formatNum() in core Lua libraries for MediaWiki</span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a> <span class="p">[</span><span class="s2">"ml-old"</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'൦'</span><span class="p">,</span> <span class="s1">'൧'</span><span class="p">,</span> <span class="s1">'൨'</span><span class="p">,</span> <span class="s1">'൩'</span><span class="p">,</span> <span class="s1">'൪'</span><span class="p">,</span> <span class="s1">'൫'</span><span class="p">,</span> <span class="s1">'൬'</span><span class="p">,</span> <span class="s1">'൭'</span><span class="p">,</span> <span class="s1">'൮'</span><span class="p">,</span> <span class="s1">'൯'</span> <span class="p">},</span> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a> <span class="p">[</span><span class="s2">"mn"</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'᠐'</span><span class="p">,</span> <span class="s1">'᠑'</span><span class="p">,</span> <span class="s1">'᠒'</span><span class="p">,</span> <span class="s1">'᠓'</span><span class="p">,</span> <span class="s1">'᠔'</span><span class="p">,</span> <span class="s1">'᠕'</span><span class="p">,</span> <span class="s1">'᠖'</span><span class="p">,</span> <span class="s1">'᠗'</span><span class="p">,</span> <span class="s1">'᠘'</span><span class="p">,</span> <span class="s1">'᠙'</span> <span class="p">},</span> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a> <span class="p">[</span><span class="s2">"ta"</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'௦'</span><span class="p">,</span> <span class="s1">'௧'</span><span class="p">,</span> <span class="s1">'௨'</span><span class="p">,</span> <span class="s1">'௩'</span><span class="p">,</span> <span class="s1">'௪'</span><span class="p">,</span> <span class="s1">'௫'</span><span class="p">,</span> <span class="s1">'௬'</span><span class="p">,</span> <span class="s1">'௭'</span><span class="p">,</span> <span class="s1">'௮'</span><span class="p">,</span> <span class="s1">'௯'</span> <span class="p">},</span> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a> <span class="p">[</span><span class="s2">"te"</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'౦'</span><span class="p">,</span> <span class="s1">'౧'</span><span class="p">,</span> <span class="s1">'౨'</span><span class="p">,</span> <span class="s1">'౩'</span><span class="p">,</span> <span class="s1">'౪'</span><span class="p">,</span> <span class="s1">'౫'</span><span class="p">,</span> <span class="s1">'౬'</span><span class="p">,</span> <span class="s1">'౭'</span><span class="p">,</span> <span class="s1">'౮'</span><span class="p">,</span> <span class="s1">'౯'</span> <span class="p">},</span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a> <span class="p">[</span><span class="s2">"th"</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">'๐'</span><span class="p">,</span> <span class="s1">'๑'</span><span class="p">,</span> <span class="s1">'๒'</span><span class="p">,</span> <span class="s1">'๓'</span><span class="p">,</span> <span class="s1">'๔'</span><span class="p">,</span> <span class="s1">'๕'</span><span class="p">,</span> <span class="s1">'๖'</span><span class="p">,</span> <span class="s1">'๗'</span><span class="p">,</span> <span class="s1">'๘'</span><span class="p">,</span> <span class="s1">'๙'</span> <span class="p">}</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a><span class="p">}</span> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a><span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">formatNum</span><span class="p">(</span><span class="n">number</span><span class="p">,</span> <span class="n">lang</span><span class="p">,</span> <span class="n">prec</span><span class="p">,</span> <span class="n">compact</span><span class="p">)</span> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a> <span class="c1">-- Do not alter the specified value when it is not a valid number, return it as is</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a> <span class="kd">local</span> <span class="n">value</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">number</span><span class="p">)</span> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a> <span class="kr">if</span> <span class="n">value</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a> <span class="kr">return</span> <span class="n">number</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a> <span class="kr">end</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a> <span class="c1">-- Basic ASCII-only formatting (without paddings)</span> </span><span id="L-42"><a href="#L-42"><span class="linenos" data-line="42"></span></a> <span class="n">number</span> <span class="o">=</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> </span><span id="L-43"><a href="#L-43"><span class="linenos" data-line="43"></span></a> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a> <span class="c1">-- Check the presence of an exponent (incorrectly managed in mw.language:FormatNum() and even forgotten due to an internal bug, e.g. in Hindi)</span> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a> <span class="kd">local</span> <span class="n">exponent</span> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a> <span class="kd">local</span> <span class="n">pos</span> <span class="o">=</span> <span class="nb">string.find</span><span class="p">(</span><span class="n">number</span><span class="p">,</span> <span class="s1">'[Ee]'</span><span class="p">)</span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a> <span class="kr">if</span> <span class="n">pos</span> <span class="o">~=</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a> <span class="n">exponent</span> <span class="o">=</span> <span class="nb">string.sub</span><span class="p">(</span><span class="n">number</span><span class="p">,</span> <span class="n">pos</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="nb">string.len</span><span class="p">(</span><span class="n">number</span><span class="p">))</span> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a> <span class="n">number</span> <span class="o">=</span> <span class="nb">string.sub</span><span class="p">(</span><span class="n">number</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">pos</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a> <span class="kr">else</span> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a> <span class="n">exponent</span> <span class="o">=</span> <span class="s1">''</span> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a> <span class="kr">end</span> </span><span id="L-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a> <span class="c1">-- Check the minimum precision requested</span> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a> <span class="n">prec</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">prec</span><span class="p">)</span> <span class="c1">-- nil if not specified as a true number</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a> <span class="kr">if</span> <span class="n">prec</span> <span class="o">~=</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a> <span class="n">prec</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span><span class="n">prec</span><span class="p">)</span> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a> <span class="kr">if</span> <span class="n">prec</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a> <span class="n">prec</span> <span class="o">=</span> <span class="kc">nil</span> <span class="c1">-- discard an incorrect precision (not a positive integer)</span> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a> <span class="kr">elseif</span> <span class="n">prec</span> <span class="o">></span> <span class="mi">14</span> <span class="kr">then</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a> <span class="n">prec</span> <span class="o">=</span> <span class="mi">14</span> <span class="c1">-- maximum precision supported by tostring(number)</span> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></span></a> <span class="kr">end</span> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a> <span class="kr">end</span> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a> </span><span id="L-65"><a href="#L-65"><span class="linenos" data-line="65"></span></a> <span class="c1">-- Preprocess the minimum precision in the ASCII string</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a> <span class="kd">local</span> <span class="n">dot</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a> <span class="kr">if</span> <span class="p">(</span><span class="n">prec</span> <span class="ow">or</span> <span class="mi">0</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-68"><a href="#L-68"><span class="linenos" data-line="68"></span></a> <span class="n">pos</span> <span class="o">=</span> <span class="nb">string.find</span><span class="p">(</span><span class="n">number</span><span class="p">,</span> <span class="s1">'.'</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="kc">true</span><span class="p">)</span> <span class="c1">-- plain search, no regexp</span> </span><span id="L-69"><a href="#L-69"><span class="linenos" data-line="69"></span></a> <span class="kr">if</span> <span class="n">pos</span> <span class="o">~=</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-70"><a href="#L-70"><span class="linenos" data-line="70"></span></a> <span class="n">prec</span> <span class="o">=</span> <span class="n">pos</span> <span class="o">+</span> <span class="n">prec</span> <span class="o">-</span> <span class="nb">string.len</span><span class="p">(</span><span class="n">number</span><span class="p">)</span> <span class="c1">-- effective number of trailing decimals to add or remove</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a> <span class="n">dot</span> <span class="o">=</span> <span class="s1">''</span> <span class="c1">-- already present</span> </span><span id="L-72"><a href="#L-72"><span class="linenos" data-line="72"></span></a> <span class="kr">else</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a> <span class="n">dot</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">sub</span> <span class="p">(</span><span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="n">lang</span><span class="p">):</span><span class="n">formatNum</span><span class="p">(</span><span class="mf">0.1</span><span class="p">),</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> <span class="c1">-- must be added</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a> <span class="kr">end</span> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a> <span class="kr">else</span> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a> <span class="n">dot</span> <span class="o">=</span> <span class="s1">''</span> <span class="c1">-- don't add dot</span> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a> <span class="n">prec</span> <span class="o">=</span> <span class="mi">0</span> <span class="c1">-- don't alter the precision</span> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a> <span class="kr">end</span> </span><span id="L-79"><a href="#L-79"><span class="linenos" data-line="79"></span></a> </span><span id="L-80"><a href="#L-80"><span class="linenos" data-line="80"></span></a> <span class="kr">if</span> <span class="n">lang</span> <span class="o">~=</span> <span class="kc">nil</span> <span class="ow">and</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">isKnownLanguageTag</span><span class="p">(</span><span class="n">lang</span><span class="p">)</span> <span class="o">==</span> <span class="kc">true</span> <span class="kr">then</span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a> <span class="c1">-- Convert number to localized digits, decimal separator, and group separators</span> </span><span id="L-82"><a href="#L-82"><span class="linenos" data-line="82"></span></a> <span class="kd">local</span> <span class="n">language</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">getLanguage</span><span class="p">(</span><span class="n">lang</span><span class="p">)</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a> <span class="kr">if</span> <span class="n">compact</span> <span class="kr">then</span> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a> <span class="n">number</span> <span class="o">=</span> <span class="n">language</span><span class="p">:</span><span class="n">formatNum</span><span class="p">(</span><span class="nb">tonumber</span><span class="p">(</span><span class="n">number</span><span class="p">),</span> <span class="p">{</span> <span class="n">noCommafy</span> <span class="o">=</span> <span class="s1">'y'</span> <span class="p">})</span> <span class="c1">-- caveat: can load localized resources for up to 20 languages</span> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a> <span class="kr">else</span> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a> <span class="n">number</span> <span class="o">=</span> <span class="n">language</span><span class="p">:</span><span class="n">formatNum</span><span class="p">(</span><span class="nb">tonumber</span><span class="p">(</span><span class="n">number</span><span class="p">))</span> <span class="c1">-- caveat: can load localized resources for up to 20 languages</span> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a> <span class="kr">end</span> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a> <span class="c1">-- Postprocessing the precision</span> </span><span id="L-89"><a href="#L-89"><span class="linenos" data-line="89"></span></a> <span class="kr">if</span> <span class="n">prec</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-90"><a href="#L-90"><span class="linenos" data-line="90"></span></a> <span class="kd">local</span> <span class="n">zero</span> <span class="o">=</span> <span class="n">language</span><span class="p">:</span><span class="n">formatNum</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> </span><span id="L-91"><a href="#L-91"><span class="linenos" data-line="91"></span></a> <span class="n">number</span> <span class="o">=</span> <span class="n">number</span> <span class="o">..</span> <span class="n">dot</span> <span class="o">..</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">rep</span><span class="p">(</span><span class="n">zero</span><span class="p">,</span> <span class="n">prec</span><span class="p">)</span> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a> <span class="kr">elseif</span> <span class="n">prec</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-93"><a href="#L-93"><span class="linenos" data-line="93"></span></a> <span class="c1">-- TODO: rounding of last decimal; here only truncate decimals in excess</span> </span><span id="L-94"><a href="#L-94"><span class="linenos" data-line="94"></span></a> <span class="n">number</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">sub</span><span class="p">(</span><span class="n">number</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">len</span><span class="p">(</span><span class="n">number</span><span class="p">)</span> <span class="o">+</span> <span class="n">prec</span><span class="p">)</span> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a> <span class="kr">end</span> </span><span id="L-96"><a href="#L-96"><span class="linenos" data-line="96"></span></a> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a> <span class="c1">-- Append the localized base-10 exponent without grouping separators (there's no reliable way to detect a localized leading symbol 'E')</span> </span><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a> <span class="kr">if</span> <span class="n">exponent</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a> <span class="n">number</span> <span class="o">=</span> <span class="n">number</span> <span class="o">..</span> <span class="s1">'E'</span> <span class="o">..</span> <span class="n">language</span><span class="p">:</span><span class="n">formatNum</span><span class="p">(</span><span class="nb">tonumber</span><span class="p">(</span><span class="n">exponent</span><span class="p">),{</span><span class="n">noCommafy</span><span class="o">=</span><span class="kc">true</span><span class="p">})</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a> <span class="kr">end</span> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a> <span class="kr">else</span> <span class="c1">-- not localized, ASCII only</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a> <span class="c1">-- Postprocessing the precision</span> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a> <span class="kr">if</span> <span class="n">prec</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a> <span class="n">number</span> <span class="o">=</span> <span class="n">number</span> <span class="o">..</span> <span class="n">dot</span> <span class="o">..</span> <span class="n">mw</span><span class="p">.</span><span class="n">string</span><span class="p">.</span><span class="n">rep</span><span class="p">(</span><span class="s1">'0'</span><span class="p">,</span> <span class="n">prec</span><span class="p">)</span> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a> <span class="kr">elseif</span> <span class="n">prec</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a> <span class="c1">-- TODO: rounding of last decimal; here only truncate decimals in excess</span> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a> <span class="n">number</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">string</span><span class="p">.</span><span class="n">sub</span><span class="p">(</span><span class="n">number</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">mw</span><span class="p">.</span><span class="n">string</span><span class="p">.</span><span class="n">len</span><span class="p">(</span><span class="n">number</span><span class="p">)</span> <span class="o">+</span> <span class="n">prec</span><span class="p">)</span> </span><span id="L-108"><a href="#L-108"><span class="linenos" data-line="108"></span></a> <span class="kr">end</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a> </span><span id="L-110"><a href="#L-110"><span class="linenos" data-line="110"></span></a> <span class="c1">-- Append the base-10 exponent</span> </span><span id="L-111"><a href="#L-111"><span class="linenos" data-line="111"></span></a> <span class="kr">if</span> <span class="n">exponent</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-112"><a href="#L-112"><span class="linenos" data-line="112"></span></a> <span class="n">number</span> <span class="o">=</span> <span class="n">number</span> <span class="o">..</span> <span class="s1">'E'</span> <span class="o">..</span> <span class="n">exponent</span> </span><span id="L-113"><a href="#L-113"><span class="linenos" data-line="113"></span></a> <span class="kr">end</span> </span><span id="L-114"><a href="#L-114"><span class="linenos" data-line="114"></span></a> <span class="kr">end</span> </span><span id="L-115"><a href="#L-115"><span class="linenos" data-line="115"></span></a> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a> <span class="c1">-- Special cases for substitution of ASCII digits (missing support in Lua core libraries for some languages)</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a> <span class="kr">if</span> <span class="n">digit</span><span class="p">[</span><span class="n">lang</span><span class="p">]</span> <span class="kr">then</span> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">digit</span><span class="p">[</span><span class="n">lang</span><span class="p">])</span> <span class="kr">do</span> </span><span id="L-119"><a href="#L-119"><span class="linenos" data-line="119"></span></a> <span class="n">number</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">gsub</span><span class="p">(</span><span class="n">number</span><span class="p">,</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="mi">1</span><span class="p">),</span> <span class="n">v</span><span class="p">)</span> </span><span id="L-120"><a href="#L-120"><span class="linenos" data-line="120"></span></a> <span class="kr">end</span> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a> <span class="kr">end</span> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a> <span class="kr">return</span> <span class="n">number</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a><span class="kr">end</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a> </span><span id="L-126"><a href="#L-126"><span class="linenos" data-line="126"></span></a><span class="kr">return</span> <span class="n">p</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐55db797859‐9sh8r Cached time: 20241218101357 Cache expiry: 2592000 Reduced expiry: false Complications: [] CPU time usage: 0.105 seconds Real time usage: 0.167 seconds Preprocessor visited node count: 2277/1000000 Post‐expand include size: 48401/2097152 bytes Template argument size: 4000/2097152 bytes Highest expansion depth: 11/100 Expensive parser function count: 2/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 5839/5000000 bytes Lua time usage: 0.030/10.000 seconds Lua memory usage: 1012470/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 144.401 1 -total 58.93% 85.101 1 Module:Formatnum/doc 37.12% 53.598 2 Template:Module_rating 36.52% 52.731 1 Template:Module-nav 34.33% 49.576 2 Template:Ombox 17.90% 25.843 6 Template:Module-nav/tab 14.32% 20.674 5 Template:Module-nav/i18n 12.37% 17.865 6 Template:Module-nav/tab2 10.99% 15.866 5 Template:LangSwitch 10.27% 14.834 1 Template:Protected --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://commons.wikimedia.org/w/index.php?title=Module:Formatnum&oldid=863883994">https://commons.wikimedia.org/w/index.php?title=Module:Formatnum&oldid=863883994</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Special:Categories" title="Special:Categories">Categories</a>: <ul><li><a href="/wiki/Category:Modules_for_general_use" title="Category:Modules for general use">Modules for general use</a></li><li><a href="/wiki/Category:Modules_subject_to_page_protection" title="Category:Modules subject to page protection">Modules subject to page protection</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-user-shown">Hidden category: <ul><li><a href="/wiki/Category:Protected_pages" title="Category:Protected pages">Protected pages</a></li></ul></div></div> </div> </div> <div id="mw-navigation"> <h2>Navigation menu</h2> <div id="mw-head"> <nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" > <h3 id="p-personal-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Personal tools</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-uls" class="mw-list-item active"><a class="uls-trigger" href="#"><span>English</span></a></li><li id="pt-anonuserpage" class="mw-list-item"><span title="The user page for the IP address you are editing as">Not logged in</span></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li><li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-createaccount" class="mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Module%3AFormatnum" title="You are encouraged to create an account and log in; however, it is not mandatory"><span>Create account</span></a></li><li id="pt-login" class="mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Module%3AFormatnum" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span>Log in</span></a></li> </ul> </div> </nav> <div id="left-navigation"> <nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-namespaces-label" > <h3 id="p-namespaces-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Namespaces</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected mw-list-item"><a href="/wiki/Module:Formatnum" title="View the module page [c]" accesskey="c"><span>Module</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/wiki/Module_talk:Formatnum" rel="discussion" title="Discussion about the content page [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </nav> <nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-variants-label" > <input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-labelledby="p-variants-label" > <label id="p-variants-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">English</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> </div> <div id="right-navigation"> <nav id="p-views" class="mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-views-label" > <h3 id="p-views-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Views</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected mw-list-item"><a href="/wiki/Module:Formatnum"><span>View</span></a></li><li id="ca-viewsource" class="mw-list-item"><a href="/w/index.php?title=Module:Formatnum&action=edit" title="This page is protected. You can view its source [e]" accesskey="e"><span>View source</span></a></li><li id="ca-history" class="mw-list-item"><a href="/w/index.php?title=Module:Formatnum&action=history" title="Past revisions of this page [h]" accesskey="h"><span>History</span></a></li> </ul> </div> </nav> <nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-cactions-label" title="More options" > <input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label" > <label id="p-cactions-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">More</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box"> <h3 >Search</h3> <form action="/w/index.php" id="searchform" class="vector-search-box-form"> <div id="simpleSearch" class="vector-search-box-inner" data-search-loc="header-navigation"> <input class="vector-search-box-input" type="search" name="search" placeholder="Search Wikimedia Commons" aria-label="Search Wikimedia Commons" autocapitalize="sentences" title="Search Wikimedia Commons [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Special:MediaSearch"> <input id="mw-searchButton" class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Search the pages for this text" value="Search"> <input id="searchButton" class="searchButton" type="submit" name="go" title="Go to a page with this exact name if it exists" value="Go"> </div> </form> </div> </div> </div> <div id="mw-panel" class="vector-legacy-sidebar"> <div id="p-logo" role="banner"> <a class="mw-wiki-logo" href="/wiki/Main_Page" title="Visit the main page"></a> </div> <nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu-portal portal vector-menu" aria-labelledby="p-navigation-label" > <h3 id="p-navigation-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Navigate</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-welcome" class="mw-list-item"><a href="/wiki/Commons:Welcome"><span>Welcome</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Commons:Community_portal" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li><li id="n-village-pump" class="mw-list-item"><a href="/wiki/Commons:Village_pump"><span>Village pump</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Help:Contents" title="The place to find out"><span>Help center</span></a></li> </ul> </div> </nav> <nav id="p-participate" class="mw-portlet mw-portlet-participate vector-menu-portal portal vector-menu" aria-labelledby="p-participate-label" > <h3 id="p-participate-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Participate</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-uploadbtn" class="mw-list-item"><a href="/wiki/Special:UploadWizard"><span>Upload file</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-latestfiles" class="mw-list-item"><a href="/wiki/Special:NewFiles"><span>Latest files</span></a></li><li id="n-randomimage" class="mw-list-item"><a href="/wiki/Special:Random/File" title="Load a random file [x]" accesskey="x"><span>Random file</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Commons:Contact_us"><span>Contact us</span></a></li> </ul> </div> </nav> <nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu-portal portal vector-menu" aria-labelledby="p-tb-label" > <h3 id="p-tb-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Tools</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Module:Formatnum" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Module:Formatnum" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Module:Formatnum&oldid=863883994" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Module:Formatnum&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlQ%C4%B1sald%C4%B1c%C4%B1s%C4%B1&url=https%3A%2F%2Fcommons.wikimedia.org%2Fwiki%2FModule%3AFormatnum"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrKodu&url=https%3A%2F%2Fcommons.wikimedia.org%2Fwiki%2FModule%3AFormatnum"><span>Download QR code</span></a></li> </ul> </div> </nav> <nav id="p-electronpdfservice-sidebar-portlet-heading" class="mw-portlet mw-portlet-electronpdfservice-sidebar-portlet-heading vector-menu-portal portal vector-menu" aria-labelledby="p-electronpdfservice-sidebar-portlet-heading-label" > <h3 id="p-electronpdfservice-sidebar-portlet-heading-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Print/export</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="electron-print_pdf" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Module%3AFormatnum&action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </nav> <nav id="p-wikibase-otherprojects" class="mw-portlet mw-portlet-wikibase-otherprojects vector-menu-portal portal vector-menu" aria-labelledby="p-wikibase-otherprojects-label" > <h3 id="p-wikibase-otherprojects-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In other projects</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-mediawiki mw-list-item"><a href="https://www.mediawiki.org/wiki/Module:Formatnum" hreflang="en"><span>MediaWiki</span></a></li><li class="wb-otherproject-link wb-otherproject-wikidata mw-list-item"><a href="https://www.wikidata.org/wiki/Module:Formatnum" hreflang="en"><span>Wikidata</span></a></li><li class="wb-otherproject-link wb-otherproject-wikipedia mw-list-item"><a href="https://en.wikipedia.org/wiki/Module:Formatnum" hreflang="en"><span>Wikipedia</span></a></li><li class="wb-otherproject-link wb-otherproject-wikisource mw-list-item"><a href="https://en.wikisource.org/wiki/Module:Formatnum" hreflang="en"><span>Wikisource</span></a></li><li class="wb-otherproject-link wb-otherproject-wikivoyage mw-list-item"><a href="https://en.wikivoyage.org/wiki/Module:Formatnum" hreflang="en"><span>Wikivoyage</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q98399163" title="Link to connected data repository item [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </nav> <nav id="p-lang" class="mw-portlet mw-portlet-lang vector-menu-portal portal vector-menu" aria-labelledby="p-lang-label" > <h3 id="p-lang-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In Wikipedia</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Formatnum" title="وحدة:Formatnum – Arabic" lang="ar" hreflang="ar" data-title="وحدة:Formatnum" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ary mw-list-item"><a href="https://ary.wikipedia.org/wiki/%D9%85%D9%88%D8%AF%D9%88%D9%84:Formatnum" title="مودول:Formatnum – Moroccan Arabic" lang="ary" hreflang="ary" data-title="مودول:Formatnum" data-language-autonym="الدارجة" data-language-local-name="Moroccan Arabic" class="interlanguage-link-target"><span>الدارجة</span></a></li><li class="interlanguage-link interwiki-azb mw-list-item"><a href="https://azb.wikipedia.org/wiki/%D9%85%D8%A7%DA%98%D9%88%D9%84:Formatnum" title="ماژول:Formatnum – South Azerbaijani" lang="azb" hreflang="azb" data-title="ماژول:Formatnum" data-language-autonym="تۆرکجه" data-language-local-name="South Azerbaijani" class="interlanguage-link-target"><span>تۆرکجه</span></a></li><li class="interlanguage-link interwiki-ban mw-list-item"><a href="https://ban.wikipedia.org/wiki/Modul:Formatnum" title="Modul:Formatnum – Balinese" lang="ban" hreflang="ban" data-title="Modul:Formatnum" data-language-autonym="Basa Bali" data-language-local-name="Balinese" class="interlanguage-link-target"><span>Basa Bali</span></a></li><li class="interlanguage-link interwiki-bh mw-list-item"><a href="https://bh.wikipedia.org/wiki/Module:Formatnum" title="Module:Formatnum – Bhojpuri" lang="bh" hreflang="bh" data-title="Module:Formatnum" data-language-autonym="भोजपुरी" data-language-local-name="Bhojpuri" class="interlanguage-link-target"><span>भोजपुरी</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%AE%E0%A6%A1%E0%A6%BF%E0%A6%89%E0%A6%B2:Formatnum" title="মডিউল:Formatnum – Bangla" lang="bn" hreflang="bn" data-title="মডিউল:Formatnum" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/M%C3%B2dul:Formatnum" title="Mòdul:Formatnum – Catalan" lang="ca" hreflang="ca" data-title="Mòdul:Formatnum" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-ckb mw-list-item"><a href="https://ckb.wikipedia.org/wiki/%D9%85%DB%86%D8%AF%DB%8C%D9%88%D9%88%D9%84:Formatnum" title="مۆدیوول:Formatnum – Central Kurdish" lang="ckb" hreflang="ckb" data-title="مۆدیوول:Formatnum" data-language-autonym="کوردی" data-language-local-name="Central Kurdish" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Module:Formatnum" title="Module:Formatnum – English" lang="en" hreflang="en" data-title="Module:Formatnum" data-language-autonym="English" data-language-local-name="English" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/M%C3%B3dulo:Formatnum" title="Módulo:Formatnum – Spanish" lang="es" hreflang="es" data-title="Módulo:Formatnum" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Formatnum" title="پودمان:Formatnum – Persian" lang="fa" hreflang="fa" data-title="پودمان:Formatnum" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Moduuli:Formatnum" title="Moduuli:Formatnum – Finnish" lang="fi" hreflang="fi" data-title="Moduuli:Formatnum" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Module:Formatnum" title="Module:Formatnum – French" lang="fr" hreflang="fr" data-title="Module:Formatnum" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Modul:Formatnum" title="Modul:Formatnum – Indonesian" lang="id" hreflang="id" data-title="Modul:Formatnum" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-ilo mw-list-item"><a href="https://ilo.wikipedia.org/wiki/Modulo:Formatnum" title="Modulo:Formatnum – Iloko" lang="ilo" hreflang="ilo" data-title="Modulo:Formatnum" data-language-autonym="Ilokano" data-language-local-name="Iloko" class="interlanguage-link-target"><span>Ilokano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Formatnum" title="モジュール:Formatnum – Japanese" lang="ja" hreflang="ja" data-title="モジュール:Formatnum" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%93%88:Formatnum" title="모듈:Formatnum – Korean" lang="ko" hreflang="ko" data-title="모듈:Formatnum" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-kw mw-list-item"><a href="https://kw.wikipedia.org/wiki/Module:Formatnum" title="Module:Formatnum – Cornish" lang="kw" hreflang="kw" data-title="Module:Formatnum" data-language-autonym="Kernowek" data-language-local-name="Cornish" class="interlanguage-link-target"><span>Kernowek</span></a></li><li class="interlanguage-link interwiki-mzn mw-list-item"><a href="https://mzn.wikipedia.org/wiki/%D9%85%D8%A7%DA%98%D9%88%D9%84:Formatnum" title="ماژول:Formatnum – Mazanderani" lang="mzn" hreflang="mzn" data-title="ماژول:Formatnum" data-language-autonym="مازِرونی" data-language-local-name="Mazanderani" class="interlanguage-link-target"><span>مازِرونی</span></a></li><li class="interlanguage-link interwiki-pa mw-list-item"><a href="https://pa.wikipedia.org/wiki/%E0%A8%AE%E0%A9%8C%E0%A8%A1%E0%A8%BF%E0%A8%8A%E0%A8%B2:Formatnum" title="ਮੌਡਿਊਲ:Formatnum – Punjabi" lang="pa" hreflang="pa" data-title="ਮੌਡਿਊਲ:Formatnum" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="Punjabi" class="interlanguage-link-target"><span>ਪੰਜਾਬੀ</span></a></li><li class="interlanguage-link interwiki-pap mw-list-item"><a href="https://pap.wikipedia.org/wiki/Module:Formatnum" title="Module:Formatnum – Papiamento" lang="pap" hreflang="pap" data-title="Module:Formatnum" data-language-autonym="Papiamentu" data-language-local-name="Papiamento" class="interlanguage-link-target"><span>Papiamentu</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/M%C3%B3dulo:Formatnum" title="Módulo:Formatnum – Portuguese" lang="pt" hreflang="pt" data-title="Módulo:Formatnum" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Module:Formatnum" title="Module:Formatnum – Simple English" lang="en-simple" hreflang="en-simple" data-title="Module:Formatnum" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Modul:Formatnum" title="Modul:Formatnum – Slovenian" lang="sl" hreflang="sl" data-title="Modul:Formatnum" data-language-autonym="Slovenščina" data-language-local-name="Slovenian" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Mod%C3%BCl:Formatnum" title="Modül:Formatnum – Turkish" lang="tr" hreflang="tr" data-title="Modül:Formatnum" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Formatnum" title="Модуль:Formatnum – Ukrainian" lang="uk" hreflang="uk" data-title="Модуль:Formatnum" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/M%C3%B4_%C4%91un:Formatnum" title="Mô đun:Formatnum – Vietnamese" lang="vi" hreflang="vi" data-title="Mô đun:Formatnum" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Formatnum" title="模組:Formatnum – Cantonese" lang="yue" hreflang="yue" data-title="模組:Formatnum" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q98399163#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </nav> </div> </div> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 28 March 2024, at 10:30.</li> <li id="footer-info-copyright">Files are available under licenses specified on their description page. All structured data from the file namespace is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>; all unstructured text is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. By using this site, you agree to the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Commons:Welcome">About Wikimedia Commons</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Commons:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/commons.wikimedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//commons.m.wikimedia.org/w/index.php?title=Module:Formatnum&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> <script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"codex-search-styles\".\n[1.43] Use a CodexModule with codexComponents to set your specific components used: https://www.mediawiki.org/wiki/Codex#Using_a_limited_subset_of_components");mw.config.set({"wgHostname":"mw-web.codfw.main-55db797859-9sh8r","wgBackendResponseTime":311,"wgPageParseReport":{"limitreport":{"cputime":"0.105","walltime":"0.167","ppvisitednodes":{"value":2277,"limit":1000000},"postexpandincludesize":{"value":48401,"limit":2097152},"templateargumentsize":{"value":4000,"limit":2097152},"expansiondepth":{"value":11,"limit":100},"expensivefunctioncount":{"value":2,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":5839,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 144.401 1 -total"," 58.93% 85.101 1 Module:Formatnum/doc"," 37.12% 53.598 2 Template:Module_rating"," 36.52% 52.731 1 Template:Module-nav"," 34.33% 49.576 2 Template:Ombox"," 17.90% 25.843 6 Template:Module-nav/tab"," 14.32% 20.674 5 Template:Module-nav/i18n"," 12.37% 17.865 6 Template:Module-nav/tab2"," 10.99% 15.866 5 Template:LangSwitch"," 10.27% 14.834 1 Template:Protected"]},"scribunto":{"limitreport-timeusage":{"value":"0.030","limit":"10.000"},"limitreport-memusage":{"value":1012470,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-55db797859-9sh8r","timestamp":"20241218101357","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>