Module:Math: Difference between revisions
Appearance
m 1 revision imported |
m 1 revision imported |
||
| (One intermediate revision by one other user not shown) | |||
| Line 589: | Line 589: | ||
]] | ]] | ||
function p._cleanNumber(number_string) | function p._cleanNumber(number_string, unformat) | ||
if type(number_string) == 'number' then | if type(number_string) == 'number' then | ||
-- We were passed a number, so we don't need to do any processing. | -- We were passed a number, so we don't need to do any processing. | ||
| Line 600: | Line 600: | ||
-- Attempt basic conversion | -- Attempt basic conversion | ||
local number = tonumber(number_string) | local number = tonumber(number_string) | ||
-- If failed, try unformatting the number_string | |||
if unformat and number == nil then | |||
-- Cannot use mw.language.getContentLanguage():parseFormattedNumber() | |||
-- because, unlike {{formatnum:|R}}, it won't ignore operators (it | |||
-- would return an error on "1,234+1,234" instead of "1234+1234") | |||
number_string = mw.getCurrentFrame():callParserFunction("formatnum", {number_string, "R"}) | |||
number = tonumber(number_string) | |||
end | |||
-- If failed, attempt to evaluate input as an expression | -- If failed, attempt to evaluate input as an expression | ||