Přeskočit na obsah

Modul:Wikidata/Formatters/approx

Tuto stránku mohou editovat jen zavedení uživatelé a správci.
Z Wikipedie, otevřené encyklopedie

require 'Modul:No globals'

local p = {}

local parent = require 'Modul:Wikidata/Formatters/quantity'

local function roundTo(value, factor)
	local remainder = value % factor
	if remainder < (factor / 2) then
		return math.floor(value / factor) * factor
	else
		return math.ceil(value / factor) * factor
	end
end

function p.formatNumber(value)
	local formatNumber = parent.formatNumber
	if 1000 < value and value < 10000 then
		return mw.ustring.format('přibližně %s', formatNumber(roundTo(value, 100)))
	elseif 10000 < value and value < 1000000 then
		return mw.ustring.format('přibližně %s tisíc', formatNumber(roundTo(value, 1000) / 1000))
	else
		return formatNumber(value)
	end
end

setmetatable( p, { __index = parent } )

return p