Modul:Norsk format
Dokumentasjon for modulen kan opprettast på Modul:Norsk format/dok
local utdata = {}
function utdata.hovud(frame)
local tekst = frame:getParent().args[1]
local resultat = tekst
-- hardt mellomrom før prosent- og promilleteikn
resultat = mw.ustring.gsub(resultat, '(%d)[ ]*%%', '%1 %')
resultat = mw.ustring.gsub(resultat, '(%d)[ ]*‰', '%1 ‰')
tal = mw.ustring.gmatch(resultat, '(%d[0-9., ]+%d)') -- finn alle tal og formater dei
for talet in tal do
formatert = talet
if formatert:find('%.') then -- tolk punktum som tusentalsskiljeteikn (1.000 = 1000) og set inn harde mellomrom
formatert = mw.ustring.gsub(formatert, '%.', ' ')
else -- nytt innbygd talformateringsfunksjon
tilpassaSkiljeteikn = talet:gsub(',', '.'):gsub(' ', '')
formatert = mw.language.new('nn'):formatNum(tonumber(tilpassaSkiljeteikn))
end
resultat = mw.ustring.gsub(resultat, talet, formatert)
end
return resultat
end
return utdata