Module:ConvertStringToNumeric

require('Module:No globals')

local p = {} local lang = mw.language.getContentLanguage;									-- language object for this wiki local presentation ={};															-- table of tables that contain currency presentation data local properties;

--[[--< I S _ S E T >--

Whether variable is set or not. A variable is set when it is not nil and not empty.

]]

local function is_set( var ) return not (var == nil or var == ''); end

--[[--< R E N D E R _ C O N V E R T S T R I N G T O N U M E R I C >

Renders currency amount with symbol or long-form name.

Also, entry point for other modules. Assumes that parameters have been vetted; amount is a number, code is upper case string, long_form is boolean; all are required.

]]

local function render_ConvertStringToNumeric (amount) local name; local output;

output = amount; output = string.gsub (output, 'thousand', '* 1000' ); output = string.gsub (output, 'million', '* 1000000' ); output = string.gsub (output, 'billion', '* 1000000000' ); output = string.gsub (output, 'trillion', '* 1000000000000' ); output = string.gsub (output, ',', '' ); return output ; end

--[[--< C O N V E R T S T R I N G T O N U M E R I C >--

Template:ConvertStringToNumeric entry point. The template takes three parameters: positional (1st), |amount=, |Amount=	: digits and decimal points only

]]

local function ConvertStringToNumeric(frame) local args = require('Module:Arguments').getArgs (frame);

local amount;

if not is_set (args[1]) then return ' – invalid amount (help) '; end amount = args[1]; return render_ConvertStringToNumeric (amount); end

return { ConvertStringToNumeric = ConvertStringToNumeric,														-- template entry point _render_ConvertStringToNumeric = render_ConvertStringToNumeric,											-- other modules entry point }