Modul:SK/Helper: razlika između inačica

Izvor: Hrvatska internetska enciklopedija
Prijeđi na navigaciju Prijeđi na pretraživanje
Stvorena nova stranica sa sadržajem: »-------------------------------------------------------------------- -- Modul:SK/Helper -------------------------------------------------------------------- local h = {} -- Format broja s tisućicama function h.num(n) if not n then return "" end local s = tostring(n) local left, num, right = s:match('^([^%d]*%d)(%d*)(.-)$') return left .. (num:reverse():gsub('(%d%d%d)','%1 '):reverse()) .. right end -- Format površine (km²) fu...«.
 
mNema sažetka uređivanja
Redak 1: Redak 1:
--------------------------------------------------------------------
local h = {}
--  Modul:SK/Helper
--------------------------------------------------------------------


local h = {}
-- Pomoćna funkcija za čišćenje unosa
local function clean(val)
    if type(val) == 'table' then val = val[1] end -- Ako dobije tablicu, uzmi prvu vrijednost
    return tonumber(val)
end


-- Format broja s tisućicama
-- Format broja s tisućicama (razmak)
function h.num(n)
function h.num(n)
     if not n then return "" end
    local num = clean(n)
     local s = tostring(n)
     if not num then return "" end
     local left, num, right = s:match('^([^%d]*%d)(%d*)(.-)$')
   
     return left .. (num:reverse():gsub('(%d%d%d)','%1 '):reverse()) .. right
     local s = tostring(math.floor(num))
     local i, j, minus, int, fraction = s:find('^([-+]?)(%d+)([.]?%d*)$')
     int = int:reverse():gsub('(%d%d%d)', '%1 '):reverse():gsub('^ ', '')
    return minus .. int .. fraction
end
end


-- Format površine (km²)
-- Format površine
function h.area(a)
function h.area(a)
     if not a then return "" end
    local num = clean(a)
     return string.format("%.2f km²", a)
     if not num then return "" end
     return string.format("%.2f", num):gsub("%.", ",") .. " km²"
end
end


-- Format gustoće (stan/km²)
-- Format gustoće
function h.density(d)
function h.density(d)
     if not d then return "" end
    local num = clean(d)
     return string.format("%.1f st/km²", d)
     if not num then return "" end
     return string.format("%.1f", num):gsub("%.", ",") .. " st./km²"
end
end



Inačica od 26. ožujak 2026. u 12:28

Script error: The function "nonexistent" does not exist.

local h = {}

-- Pomoćna funkcija za čišćenje unosa
local function clean(val)
    if type(val) == 'table' then val = val[1] end -- Ako dobije tablicu, uzmi prvu vrijednost
    return tonumber(val)
end

-- Format broja s tisućicama (razmak)
function h.num(n)
    local num = clean(n)
    if not num then return "" end
    
    local s = tostring(math.floor(num))
    local i, j, minus, int, fraction = s:find('^([-+]?)(%d+)([.]?%d*)$')
    int = int:reverse():gsub('(%d%d%d)', '%1 '):reverse():gsub('^ ', '')
    return minus .. int .. fraction
end

-- Format površine
function h.area(a)
    local num = clean(a)
    if not num then return "" end
    return string.format("%.2f", num):gsub("%.", ",") .. " km²"
end

-- Format gustoće
function h.density(d)
    local num = clean(d)
    if not num then return "" end
    return string.format("%.1f", num):gsub("%.", ",") .. " st./km²"
end

-- Format stanovništva
function h.pop(p)
    return h.num(p)
end

return h