ਮੌਡਿਊਲ:Convert to eastern arabic numerals

This module converts from Western Arabic numerals (i.e. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9) to Eastern Arabic numerals (i.e. ٩ ,٨ ,٧ ,٦ ,٥ ,٤ ,٣ ,٢ ,١ ,٠)

From wikitext

ਸੋਧੋ

This should generally be invoked from the corresponding template {{Eastern arabic numerals}}; however it make be directly invoked as well

{{#invoke:Convert to eastern arabic numerals|convert|3.1415}}

Load the module with the following code:

local mConvertNumerals = require('Module:Convert to eastern arabic numerals')

And then from there you can convert using the _convert function.

mConvertNumerals._convert({"3.1415"})

local p = {}

local conversion_table = {
	['0'] = '٠',
	['1'] = '١',
	['2'] = '٢',
	['3'] = '٣',
	['4'] = '٤',
	['5'] = '٥',
	['6'] = '٦',
	['7'] = '٧',
	['8'] = '٨',
	['9'] = '٩',
	['.'] = ','
}

function p._convert(args)
	if args == nil then
		return 'Error! Arguments provided are null'
	end
	if args[1] == nil then
		return ''
	end
	local num_str = tostring(args[1])
	local new_str, _ = string.gsub(num_str, '[0-9.]', conversion_table)
	return new_str
end

function p.convert(frame)
	return p._convert(frame.args)
end

return p