Module:Decimal-align
Appearance
--Align numbers in table cells on the decimal point
local p = {}
function p.main(frame)
local input_string_raw = frame.args[1]
string = frame:preprocess( input_string_raw )
for number in mw.ustring.gmatch( string, '%|[%d%.,]+' ) do
left = mw.ustring.sub(mw.ustring.match(number, '^%|[%d, ]*'),2)
right = mw.ustring.match(number, '%.[%d ]*$')
if left=='' then left='0' end
formatted_number = '%|<span style="float: left; text-align: right; width: 50%;">' .. left .. '</span>'
if right then
formatted_number = formatted_number .. '<span style="float: right; text-align: left; width: 50%;">' .. right .. '</span>'
end
string = mw.ustring.gsub( string, number, formatted_number )
end
return string
end
return p