Guest User

NumberTransformer

a guest
Jan 22nd, 2019
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.48 KB | None | 0 0
  1. local listOfSuffixes = {
  2.     "K";
  3.     "M";
  4.     "B";
  5.     "T";
  6.     "qd";
  7.     "Qn";
  8.     "sx";
  9.     "Sp";
  10.     "O";
  11.     "N";
  12.     "de";
  13.     "Ud";
  14.     "DD";
  15.     "tdD";
  16.     "qdD";
  17.     "QnD";
  18.     "sxD";
  19.     "SpD";
  20.     "OcD";
  21.     "NvD";
  22.     "Vgn";
  23.     "UVg";
  24.     "DVg";
  25.     "TVg";
  26.     "qtV";
  27.     "QnV";
  28.     "SeV";
  29.     "SPG";
  30.     "OVG";
  31.     "NVG";
  32.     "TGN";
  33.     "UTG";
  34.     "DTG";
  35.     "tsTG";
  36.     "qtTG";
  37.     "QnTG";
  38.     "ssTG";
  39.     "SpTG";
  40.     "OcTG";
  41.     "NoTG";
  42.     "QdDR";
  43.     "uQDR";
  44.     "dQDR";
  45.     "tQDR";
  46.     "qdQDR";
  47.     "QnQDR";
  48.     "sxQDR";
  49.     "SpQDR";
  50.     "OQDDr";
  51.     "NQDDr";
  52.     "qQGNT";
  53.     "uQGNT";
  54.     "dQGNT";
  55.     "tQGNT";
  56.     "qdQGNT";
  57.     "QnQGNT";
  58.     "sxQGNT";
  59.     "SpQGNT";
  60.     "OQQGNT";
  61.     "NQQGNT";
  62.     "SXGNTL";
  63. }
  64.  
  65. local function toDisplay(original)
  66.  
  67.     if type(original) == "number" then
  68.        
  69.         local amountLableFound = false
  70.         local strNumber
  71.                
  72.         for i = 3, 183, 3 do
  73.             if original >= (10 ^ i) and original < (10 ^ (i + 3)) then
  74.                        
  75.                 amountLableFound = true
  76.                        
  77.                 local uncheckedMVariable = (math.floor(original / (10 ^ (i - 2))) / 100)   
  78.                 local strMVariable = tostring(uncheckedMVariable)
  79.                 local decimalCheck = string.find(strMVariable, "%.")
  80.                 local mVariable
  81.                    
  82.                 mVariable = string.sub(strMVariable, 1, (decimalCheck and decimalCheck ~= 4) and 4 or 3)
  83.        
  84.                 strNumber = mVariable..listOfSuffixes[i/3]..(original > (uncheckedMVariable*100*10^(i - 2)) and "+" or "")
  85.                    
  86.                 break  
  87.             end
  88.         end
  89.                
  90.         if not amountLableFound then
  91.             strNumber = tostring(math.floor(original*100 + 0.5)/100)
  92.         end
  93.            
  94.         return strNumber
  95.    
  96.     else
  97.         return original
  98.     end
  99. end
Advertisement
Add Comment
Please, Sign In to add comment