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
 
Nisu prikazane 4 međuinačice
Redak 1: Redak 1:
--------------------------------------------------------------------
local h = {}
--  Modul:SK/Helper
--------------------------------------------------------------------


local h = {}
-- Funkcija koja popravlja sve: razmake, tablice i pretvara u broj ako treba
local function fix(val, asNumber)
    if type(val) == 'table' then val = val[1] end
    if type(val) == 'string' then
        val = val:match("^%s*(.-)%s*$") -- Briše razmake (Trim)
    end
    if asNumber then
        return tonumber(val)
    end
    return val
end


-- Format broja s tisućicama
-- Format broja s tisućicama
function h.num(n)
function h.num(n)
     if not n then return "" end
    local num = fix(n, true)
     local s = tostring(n)
     if not num then return "" end
     local left, num, right = s:match('^([^%d]*%d)(%d*)(.-)$')
     local s = tostring(math.floor(num))
     return left .. (num:reverse():gsub('(%d%d%d)','%1 '):reverse()) .. right
     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 = fix(a, true)
     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 = fix(d, true)
     return string.format("%.1f st/km²", d)
     if not num then return "" end
     return string.format("%.1f", num):gsub("%.", ",") .. " st./km²"
end
end


-- Format stanovništva
-- Za naziv (čisti tekst)
function h.pop(p)
function h.text(t)
     return h.num(p)
     return fix(t, false) or ""
end
end
function h.pop(p) return h.num(p) end


return h
return h

Posljednja izmjena od 26. ožujak 2026. u 12:43

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

local h = {}

-- Funkcija koja popravlja sve: razmake, tablice i pretvara u broj ako treba
local function fix(val, asNumber)
    if type(val) == 'table' then val = val[1] end
    if type(val) == 'string' then 
        val = val:match("^%s*(.-)%s*$") -- Briše razmake (Trim)
    end
    if asNumber then
        return tonumber(val)
    end
    return val
end

-- Format broja s tisućicama
function h.num(n)
    local num = fix(n, true)
    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 = fix(a, true)
    if not num then return "" end
    return string.format("%.2f", num):gsub("%.", ",") .. " km²"
end

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

-- Za naziv (čisti tekst)
function h.text(t)
    return fix(t, false) or ""
end

function h.pop(p) return h.num(p) end

return h