<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://lugwiki.stcgrupo.es/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AFormat</id>
	<title>Module:Format - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://lugwiki.stcgrupo.es/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AFormat"/>
	<link rel="alternate" type="text/html" href="https://lugwiki.stcgrupo.es/index.php?title=Module:Format&amp;action=history"/>
	<updated>2026-04-16T00:11:58Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://lugwiki.stcgrupo.es/index.php?title=Module:Format&amp;diff=1406&amp;oldid=prev</id>
		<title>Admin : 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://lugwiki.stcgrupo.es/index.php?title=Module:Format&amp;diff=1406&amp;oldid=prev"/>
		<updated>2021-04-10T11:25:37Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 10 avril 2021 à 11:25&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;fr&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Aucune différence)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key mediawiki:diff:1.41:old-1405:rev-1406 --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://lugwiki.stcgrupo.es/index.php?title=Module:Format&amp;diff=1405&amp;oldid=prev</id>
		<title>module&gt;Jules* : A changé le niveau de protection pour « Module:Format » : Modèle très utilisé ([Modifier=Autoriser uniquement les utilisateurs autopatrolled] (infini) [Renommer=Autoriser uniquement les utilisateurs autopatrolled] (infini))</title>
		<link rel="alternate" type="text/html" href="https://lugwiki.stcgrupo.es/index.php?title=Module:Format&amp;diff=1405&amp;oldid=prev"/>
		<updated>2019-06-25T09:50:08Z</updated>

		<summary type="html">&lt;p&gt;A changé le niveau de protection pour « &lt;a href=&quot;/index.php?title=Module:Format&quot; title=&quot;Module:Format&quot;&gt;Module:Format&lt;/a&gt; » : Modèle très utilisé ([Modifier=Autoriser uniquement les utilisateurs autopatrolled] (infini) [Renommer=Autoriser uniquement les utilisateurs autopatrolled] (infini))&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Module dédié au formatage de texte&lt;br /&gt;
&lt;br /&gt;
local fun = {}&lt;br /&gt;
&lt;br /&gt;
-- Mise en forme des nombres&lt;br /&gt;
-- Mime le comportement du mot magique formatnum, sans paramètre R&lt;br /&gt;
function fun.formatnum(frame)&lt;br /&gt;
    return fun.do_formatnum(frame:getParent().args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function fun.do_formatnum(arguments)&lt;br /&gt;
    local result = &amp;quot;&amp;quot;&lt;br /&gt;
    local number = &amp;quot;&amp;quot;&lt;br /&gt;
    -- Vérification du paramètre&lt;br /&gt;
    if(type(tonumber(arguments[1])) == &amp;quot;number&amp;quot;) then&lt;br /&gt;
        number = arguments[1]&lt;br /&gt;
    &lt;br /&gt;
        -- Extraction des parties du nombre&lt;br /&gt;
        local _, _, minus, intPart, point, fracPart = string.find(number,&amp;quot;^([^0-9.]?)0*(%d*)(\.?)(%d*)$&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        -- Signe moins&lt;br /&gt;
        result = result .. minus&lt;br /&gt;
        -- Partie entière&lt;br /&gt;
        if(#intPart &amp;gt; 0) then&lt;br /&gt;
            local index = #intPart&lt;br /&gt;
            for digit in string.gfind(intPart, &amp;quot;%d&amp;quot;) do&lt;br /&gt;
                result = result .. digit&lt;br /&gt;
                -- Espace tous les trois chiffres&lt;br /&gt;
                if((index % 3) == 1 and index &amp;gt; 1) then&lt;br /&gt;
                    result = result .. &amp;quot;&amp;amp;nbsp;&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
                index = index - 1&lt;br /&gt;
            end&lt;br /&gt;
        else&lt;br /&gt;
            -- Ajout d&amp;#039;un zéro si la partie décimale est vide&lt;br /&gt;
            result = result .. &amp;quot;0&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        -- Virgule&lt;br /&gt;
        if(point ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
            result = result .. &amp;quot;,&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        -- Partie fractionnaire&lt;br /&gt;
        result = result .. fracPart&lt;br /&gt;
    else&lt;br /&gt;
        result = (arguments[1] or &amp;quot;&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Mise en forme des nombres avec unité&lt;br /&gt;
-- Basé sur Modèle:Unité, mais sans limitation de nombre d&amp;#039;arguments&lt;br /&gt;
function fun.unite(frame)&lt;br /&gt;
    return fun.do_unite(frame:getParent().args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Réalisation de la fonction précédente&lt;br /&gt;
function fun.do_unite(arguments)&lt;br /&gt;
    local result = &amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    -- Formatage de la valeur principale&lt;br /&gt;
    if(arguments[1] ~= nil) then&lt;br /&gt;
        result = fun.do_formatnum{arguments[1]}&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- Formatage de la puissance de 10 éventuelle&lt;br /&gt;
    if(arguments.e ~= nil) then&lt;br /&gt;
        result = result .. fun.do_x10{arguments.e}&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- Parcours des unités et exposants&lt;br /&gt;
    local index = 2&lt;br /&gt;
    while(arguments[index] ~= nil) do&lt;br /&gt;
        if (index == 2) then&lt;br /&gt;
            -- Première unité : espace insécable&lt;br /&gt;
            result = result .. &amp;quot;&amp;amp;nbsp;&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            -- Unités suivantes : point médian&lt;br /&gt;
            result = result .. &amp;quot;⋅&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        -- Affichage de l&amp;#039;unité&lt;br /&gt;
        result = result .. arguments[index]&lt;br /&gt;
        &lt;br /&gt;
        -- Exposant éventuel&lt;br /&gt;
        if(arguments[index+1] ~= nil) then&lt;br /&gt;
            result = result .. fun.do_expo{arguments[index+1]}&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        index = index + 2&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- Non-retour à la ligne&lt;br /&gt;
    result = &amp;quot;&amp;lt;span class=\&amp;quot;nowrap\&amp;quot;&amp;gt;&amp;quot; .. result .. &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Mise en forme des exposants&lt;br /&gt;
-- Basé sur Modèle:Exp&lt;br /&gt;
function fun.expo(frame)&lt;br /&gt;
    return fun.do_expo(frame:getParent().args)    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Réalisation de la fonction précédente&lt;br /&gt;
function fun.do_expo(arguments)&lt;br /&gt;
    local result = &amp;quot;&amp;quot;&lt;br /&gt;
    if(arguments[1] ~= nil) then&lt;br /&gt;
        result = result .. arguments[1]&lt;br /&gt;
    end&lt;br /&gt;
    result = &amp;quot;&amp;lt;sup&amp;gt;&amp;quot; .. result .. &amp;quot;&amp;lt;/sup&amp;gt;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Mise en forme des puissances de 10&lt;br /&gt;
-- Basé sur Modèle:x10&lt;br /&gt;
function fun.x10(frame)&lt;br /&gt;
    return fun.do_x10(frame:getParent().args)    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Réalisation de la fonction précédente&lt;br /&gt;
function fun.do_x10(arguments)&lt;br /&gt;
    local result = &amp;quot;×10&amp;quot; .. fun.do_expo{arguments[1]}&lt;br /&gt;
    return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Affichage d&amp;#039;une valeur en parsecs&lt;br /&gt;
-- Basé sur Modèle:Parsec&lt;br /&gt;
function fun.parsec(frame)&lt;br /&gt;
    return fun.do_parsec(frame:getParent().args)    &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Réalisation de la fonction précédente&lt;br /&gt;
function fun.do_parsec(arguments)&lt;br /&gt;
    local result = &amp;quot;&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
    -- Unités disponibles&lt;br /&gt;
    local units = {&lt;br /&gt;
        pc = {&amp;quot;[[parsec|pc]]&amp;quot;, [false] = {1, &amp;quot;&amp;quot;}, [true] = {1, &amp;quot;&amp;quot;}},&lt;br /&gt;
        kpc = {&amp;quot;[[Kiloparsec|kpc]]&amp;quot;, [false] = {1000, &amp;quot;&amp;quot;}, [true] = {0.001, &amp;quot;million&amp;quot;}},&lt;br /&gt;
        mpc = {&amp;quot;[[Mégaparsec|Mpc]]&amp;quot;, [false] = {1, &amp;quot;million&amp;quot;}, [true] = {0.001, &amp;quot;milliard&amp;quot;}},&lt;br /&gt;
        gpc = {&amp;quot;[[Gigaparsec|Gpc]]&amp;quot;, [false] = {1, &amp;quot;milliard&amp;quot;}, [true] = {1, &amp;quot;milliard&amp;quot;}}&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    -- Valeur principale&lt;br /&gt;
    local resultVal = fun.do_formatnum{(arguments[1] or &amp;quot;&amp;quot;)}&lt;br /&gt;
    &lt;br /&gt;
    -- Unité utilisée&lt;br /&gt;
    local unitData = (units[arguments[2]] or units.pc)&lt;br /&gt;
    &lt;br /&gt;
    if(arguments.marge ~= nil or arguments.sup ~= nil) then&lt;br /&gt;
        -- Marge éventuelle&lt;br /&gt;
        if(arguments.marge ~= nil) then&lt;br /&gt;
            local resultMarge = &amp;quot;&amp;quot; ;&lt;br /&gt;
            if(tonumber(arguments.marge) ~= nil) then&lt;br /&gt;
                resultMarge = &amp;quot;&amp;lt;small&amp;gt;&amp;amp;plusmn;&amp;quot; .. arguments.marge .. &amp;quot;&amp;lt;/small&amp;gt;&amp;quot;&lt;br /&gt;
            else&lt;br /&gt;
                resultMarge = arguments.marge&lt;br /&gt;
            end&lt;br /&gt;
            resultVal = resultVal .. resultMarge&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        -- Deuxième valeur éventuelle&lt;br /&gt;
        if(arguments.sup ~= nil) then&lt;br /&gt;
            resultVal = resultVal .. &amp;quot; à&amp;amp;nbsp;&amp;quot; .. arguments.sup&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        -- &amp;quot;Environ&amp;quot; si c&amp;#039;est une valeur brute seule&lt;br /&gt;
        result = result .. &amp;quot;environ&amp;amp;nbsp;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    -- Affichage de la valeur&lt;br /&gt;
    result = result .. fun.do_unite{resultVal,unitData[1]} .. &amp;quot; &amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    -- Affichage de la conversion en années-lumière&lt;br /&gt;
    local numVal = tonumber(arguments[1])&lt;br /&gt;
    if(numVal ~= nil) then&lt;br /&gt;
        -- On utilise un autre ordre de grandeur si la valeur est trop grande&lt;br /&gt;
        local isBigVal = (numVal*3.2616 &amp;gt;= 1000)&lt;br /&gt;
        -- Valeur en années-lumière&lt;br /&gt;
        local alVal = numVal*unitData[isBigVal][1]*3.2616&lt;br /&gt;
        -- Première valeur&lt;br /&gt;
        result = result .. &amp;quot;(&amp;amp;sim;&amp;quot; .. fun.do_formatnum{fun.do_chiffresSignificatifs{alVal,3}} .. &amp;quot;&amp;amp;nbsp;&amp;quot;&lt;br /&gt;
        if(arguments.sup ~= nil and tonumber(arguments.sup) ~= nil) then&lt;br /&gt;
            -- Deuxième valeur éventuelle&lt;br /&gt;
            alVal = tonumber(arguments.sup)*unitData[isBigVal][1]*3.2616&lt;br /&gt;
            result = result .. &amp;quot;à&amp;amp;nbsp;&amp;quot; .. fun.do_formatnum{fun.do_chiffresSignificatifs{alVal,3}} .. &amp;quot;&amp;amp;nbsp;&amp;quot; &lt;br /&gt;
        end&lt;br /&gt;
        -- La dernière valeur affichée (alVal) entraîne-t-elle un pluriel ?&lt;br /&gt;
        local unitFull = &amp;quot;&amp;quot;&lt;br /&gt;
        if(unitData[isBigVal][2] ~= &amp;quot;&amp;quot;) then -- Il faut avoir un mot à mettre au pluriel&lt;br /&gt;
            if(alVal &amp;gt;= 1.995) then&lt;br /&gt;
                unitFull = &amp;quot;s&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            unitFull = unitData[isBigVal][2] .. unitFull .. &amp;quot; d&amp;#039;&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        -- Affichage de l&amp;#039;unité&lt;br /&gt;
        result = result .. unitFull .. &amp;quot;[[Année-lumière|a.l.]])&amp;quot; ;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Affichage d&amp;#039;un nombre avec chiffres significatifs&lt;br /&gt;
function fun.chiffresSignificatifs(frame)&lt;br /&gt;
    return fun.do_chiffresSignificatifs(frame:getParent().args)  &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Réalisation de la fonction précédente&lt;br /&gt;
-- Attention, renvoie une chaîne&lt;br /&gt;
-- Usage : fun.do_chiffresSignificatifs{valeur, nb de chiffres significatifs}&lt;br /&gt;
function fun.do_chiffresSignificatifs(arguments)&lt;br /&gt;
    local result = &amp;quot;&amp;quot;&lt;br /&gt;
    local value, digits = tonumber(arguments[1]), tonumber(arguments[2])&lt;br /&gt;
    if(value ~= nil and digits ~= nil) then&lt;br /&gt;
        local logVal = math.ceil(math.log10(value))&lt;br /&gt;
        local mult = 10^(digits-logVal)&lt;br /&gt;
        local rounded = math.floor(value*mult+0.5)/mult&lt;br /&gt;
        result = string.format(&amp;quot;%.&amp;quot; .. tostring(math.max(digits-logVal,0)) .. &amp;quot;f&amp;quot;, rounded)&lt;br /&gt;
    end&lt;br /&gt;
    return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Ajoute des hyperliens aux mots séparés par des virgules, comme ceux des propriétés Wikidata&lt;br /&gt;
function fun.ajouterLiens(frame)&lt;br /&gt;
    local arguments = frame:getParent().args&lt;br /&gt;
    local mots = mw.text.split(arguments[2], &amp;quot;,&amp;quot;)&lt;br /&gt;
    local liens = table.concat(mots, &amp;quot;]], [[&amp;quot;)&lt;br /&gt;
    if liens ~= nil and liens ~= &amp;quot;&amp;quot; then&lt;br /&gt;
      return &amp;quot;[[&amp;quot; .. liens .. &amp;quot;]]&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
      return &amp;quot;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return fun&lt;/div&gt;</summary>
		<author><name>module&gt;Jules*</name></author>
	</entry>
</feed>