stuppid_bot

Untitled

May 13th, 2013
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // http://ru.wikipedia.org/wiki/Printf
  2. ( function() {
  3.     function addPlus(n, f) {
  4.         return (n > 0 && f && /\+/.test(f) ? '+' : '') + n;
  5.     }
  6.  
  7.     sprintf = function() {
  8.         var i = 1, a = arguments, s = a[0], q;
  9.  
  10.         return s.replace( /%(?:%|([-+0]+)?([1-9]\d*)?(?:\.([1-9]\d*))?([a-z]))/gi, function(m, f, w, p, t) {
  11.             if (m == '%%') {
  12.                 return '%';
  13.             }      
  14.  
  15.             q = a[i++];
  16.  
  17.             if (t == 'd') {
  18.                 q = addPlus( Math.round(q), f );
  19.             }
  20.             else if (t == 'f') {
  21.                 q = addPlus( q.toFixed(p || 6), f );
  22.             }
  23.             else if (t == 's') {
  24.                 q += '';
  25.                 q = p ? q.substr(0, p) : q;
  26.             }
  27.             else {
  28.                 return m;
  29.             }
  30.  
  31.             if (w) {
  32.                 q = strPad( q, w, /0/.test(f) ? '0' : ' ', /-/.test(f) ? 'right' : 'left' );
  33.             }
  34.  
  35.             return q;
  36.         } );
  37.     };
  38. } )();
  39. // > sprintf( 'Температура воздуха: %+d°C', rand(-50, 50) );
  40. // "Температура воздуха: -38°C"
  41. // > sprintf( 'Температура воздуха: %+d°C', rand(-50, 50) );
  42. // "Температура воздуха: +19°C"
Advertisement
Add Comment
Please, Sign In to add comment