Jump to content

Module:ConvertSeasonPressure

From Shark's Hypothetical Weather
Revision as of 19:33, 2 ⧼october⧽ 2025 by Sharkius (talk | contribs)

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

local p = {}

function p.main(frame)
    local args = frame.args

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

    -- Settings
    local abbr = args['abbr'] or 'on'

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

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

    -- Build return string
    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