Advertisement
1234abcecba4321

short nums

Mar 28th, 2015
575
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. nums = ['K','M','G','T','P','E','Z','Y','U','S','H','F','L','W','KW','MW','GW','TW','PW','EW','ZW','YW','UW','SW','HW','FW','LW','WW','KWW','MWW','GWW','TWW','PWW','EWW','ZWW','YWW','UWW','SWW','HWW','FWW','LWW','WWW','KWWW','MWWW','GWWW','TWWW','PWWW','EWWW','ZWWW','YWWW','UWWW','SWWW','HWWW','FWWW','LWWW','WWWW','KWWWW','MWWWW','GWWWW','TWWWW','PWWWW','EWWWW','ZWWWW','YWWWW','UWWWW','SWWWW','HWWWW','FWWWW','LWWWW','Q','KQ','MQ','GQ','TQ','PQ','EQ','ZQ','YQ','UQ','SQ','HQ','FQ','LQ','WQ','KWQ','MWQ','GWQ','TWQ','PWQ','EWQ','ZWQ','YWQ','UWQ','SWQ','HWQ','FWQ','LWQ','WWQ','KWWQ','MWWQ','BWWQ','TWWQ'];
  2.  
  3. function Beautify2(what,floats)//turns 9999999 into 9,999,999
  4. {
  5.     var str='';
  6.     if (!isFinite(what)) return 'Infinity';
  7.     if (what.toString().indexOf('e')!=-1) return what.toString();
  8.     what=Math.round(what*10000000)/10000000;//get rid of weird rounding errors
  9.     if (floats>0)
  10.     {
  11.         var floater=what-Math.floor(what);
  12.         floater=Math.round(floater*10000000)/10000000;//get rid of weird rounding errors
  13.         var floatPresent=floater?1:0;
  14.         floater=(floater.toString()+'0000000').slice(2,2+floats);//yes this is hacky (but it works)
  15.         if (parseInt(floater)===0) floatPresent=0;
  16.         str=Beautify(Math.floor(what))+(floatPresent?('.'+floater):'');
  17.     }
  18.     else
  19.     {
  20.         what=Math.floor(what);
  21.         what=(what+'').split('').reverse();
  22.         for (var i in what)
  23.         {
  24.             if (i%3==0 && i>0) str=','+str;
  25.             str=what[i]+str;
  26.         }
  27.     }
  28.     return str;
  29. }
  30.  
  31. function Beautify(num,floats)
  32. {
  33. if (!isFinite(num)) return 'Infinity'
  34. if(num < 1e6){
  35. return Beautify2(num,floats);}
  36. var i = 0;
  37. while(num >= 1000)
  38. {
  39. num/=1000;
  40. i++;
  41. }
  42. num = Math.round(num*1000)/1000;
  43. if(num>=1000)
  44. {
  45. num/=1000;
  46. i++;
  47. num = Math.round(num*1000)/1000;
  48. } //deals with rounding errors
  49. num = num.toFixed(3);
  50. return num + nums[i - 1]
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement