Yeah, it seems that way. Your code seems way more efficient than the function I wrote a year ago:
Code
function CompressNumber(number)
if number == 0 then
return '0'
end
local abv = {'','K','M','B','T','Qa','Qi','Sx','Sp','Oc','No','Dc','Ud','Ud','Dd','Td','Qad','Qid','Sxd','Spd','Ocd','Nod','Vg','Uvg','Uvg','Dvg','(e70)','(e71)','Tvg','(e73)','(e74)','Qavg','(e76)','(e77)','Qivg','(e79)','(e80)','Sxvg','(e82)','(e83)','Spvg','(e85)','(e86)','Ocvg','(e88)','(e?)'}
local output
for i,v in pairs(abv) do
local n = 1000^(i-1)
if math.abs(number) >= n then
output = tostring(math.round(number/n))..v
else
return output
end
end
return output
end
If I were to redo it, I’d have split it up by 3’s, but even then your code seems better. I’ll have to look into more string related stuff.
I’d like your reply, but again, I’m on a 9 hour cooldown for likes.