Editing Module:NumberAbbr
Appearance
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 6: | Line 6: | ||
local s=f.args[3]~=nil and math.max(f.args[3],3) or 6 --start at 10^ | local s=f.args[3]~=nil and math.max(f.args[3],3) or 6 --start at 10^ | ||
local abt=f.args[4]==nil and false or f.args[4] --use abbr tag? | local abt=f.args[4]==nil and false or f.args[4] --use abbr tag? | ||
local chk=string.gsub(n,",","") --remove commas | local chk=string.gsub(n,",","") --remove commas | ||
Line 59: | Line 58: | ||
end | end | ||
return (math.log10(n2)>=3 and ep>=s) and (abt and "<abbr title=\""..n.."\">" or "")..(m>0 and "-" or "")..nn..""..(not isinf and p.illion({args={math.floor(ep/3-1)}}) or "")..(abt and "</abbr>" or "") or nb | |||
end | end | ||
end | end | ||
Line 79: | Line 77: | ||
if n>=math.huge then | if n>=math.huge then | ||
return math.huge | return math.huge | ||
elseif n>999 then | elseif n>=999 then | ||
i=10^(3*math.floor(math.log10(n)/3)) | i=10^(3*math.floor(math.log10(n)/3)) | ||
return (math.floor(n/i)>1 and p.illion({args={math.floor(n/i),false}}) or "")..(math.floor(math.log10(n)/3)<=#e3 and e3[math.floor(math.log10(n)/3)] or "["..math.floor(math.log10(n)/3).."]")..(r<3 and p.illion({args={n%i,nil,true,r+1}}) or "")..(r==3 and "..." or "") --it can only go so far down, this limit is to prevent not enough memory errors | return (math.floor(n/i)>1 and p.illion({args={math.floor(n/i),false}}) or "")..(math.floor(math.log10(n)/3)<=#e3 and e3[math.floor(math.log10(n)/3)] or "["..math.floor(math.log10(n)/3).."]")..(r<3 and p.illion({args={n%i,nil,true,r+1}}) or "")..(r==3 and "..." or "") --it can only go so far down, this limit is to prevent not enough memory errors |