Jump to content

Module:ConvertSeasonPressure

From Shark's Hypothetical Weather
Revision as of 19:37, 2 ⧼october⧽ 2025 by Sharkius (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:ConvertSeasonPressure/doc

local p = {}

function p.main(frame)
    local args = frame:getParent().args -- use template args

    -- First argument = pressure (mbar)
    local pressure = tonumber(args[1])
    if not pressure then
        return "Error: Invalid or missing pressure value."
    end

    -- Optional abbr flag
    local abbr = args['abbr'] or 'on'

    -- Convert mbar → inHg
    local inHg = pressure * 0.02953

    -- Format
    local formattedPressure = string.format("%d", pressure)
    local formattedInHg = string.format("%.2f", inHg)

    if abbr == 'on' then
        return formattedPressure ..
            " [[wikipedia:Bar_(unit)|mbar]] " ..
            "([[wikipedia:Pascal_(unit)|hPa]]; " ..
            formattedInHg .. " [[wikipedia:Inch_of_mercury|inHg]])"
    else
        return formattedPressure ..
            " millibar (hectopascal; " ..
            formattedInHg .. " inches of mercury)"
    end
end

return p