Module:Wikidata/Formatters/round
Εμφάνιση
Τεκμηρίωση module[δημιουργία]
Μπορείτε να συμβάλλετε στη δημιουργία σελίδας τεκμηρίωσης για αυτό το Scribunto module. Οι συντάκτες μπορούν να πειραματίζονται στο πρόχειρο (δημιουργία | αντίγραφο) και στις δοκιμαστικές σελίδες (δημιουργία) του module. Παρακαλούμε να προσθέτετε τις κατηγορίες στην υποσελίδα τεκμηρίωσης. Υποσελίδες αυτού του module. |
local p = {}
local formatNumber = p.formatNumber
local function roundToOneDecimal(value)
local int, fract = math.modf(value)
local fract_times_ten = fract * 10
if fract_times_ten - math.floor(fract_times_ten) < 0.5 then
return int + math.floor(fract_times_ten) / 10
else
return int + math.ceil(fract_times_ten) / 10
end
end
function p.formatNumber(value)
local factor = 1
if value < 0 then
value = -value
factor = -factor
end
if value > 10^6 and value < 10^9 then
return mw.ustring.format('%s mil.', formatNumber(factor * roundToOneDecimal(value / 10^6)))
elseif value > 10^9 and value < 10^12 then
return mw.ustring.format('%s mld.', formatNumber(factor * roundToOneDecimal(value / 10^9)))
else
return formatNumber(factor * value)
end
end
return p