separador padstart padleft numero moneda miles izquierda formato convertir ceros javascript

padleft - padstart javascript



Formato de un nĂºmero, exactamente dos en longitud? (9)

Tengo un número entero inferior a 100 y se imprime en una página HTML con JavaScript. ¿Cómo formateo el número entero para que tenga exactamente dos dígitos? Por ejemplo:

01
02
03
...
09
10
11
12
...



Yo uso expresiones regulares para formatear mi tiempo como

const str = ''12: 5 ''

const final = str.replace (/ / d + / g, (match, offset, string) => match <10? ''0'' + match: match)

salida: 12:05


Normalmente uso esta función.

function pad(n, len) { let l = Math.floor(len) let sn = '''' + n let snl = sn.length if(snl >= l) return sn return ''0''.repeat(l - snl) + sn }


Ejemplo de uso

pad(1, 1) // ==> returns ''1'' (string type) pad(384, 5) // ==> returns ''00384'' pad(384, 4.5)// ==> returns ''0384'' pad(5555, 2) // ==> returns ''5555''


Solo use la siguiente función corta para obtener el resultado que necesita:

function pad2(number) { return (number < 10 ? ''0'' : '''') + number }


Una forma directa de rellenar un número a la izquierda en Javascript es calcular el número de dígitos por base de registro 10. Por ejemplo:

function padLeft(positiveInteger, totalDigits) { var padding = "00000000000000"; var rounding = 1.000000000001; var currentDigits = positiveInteger > 0 ? 1 + Math.floor(rounding * (Math.log(positiveInteger) / Math.LN10)) : 1; return (padding + positiveInteger).substr(padding.length - (totalDigits - currentDigits)); }

El factor de redondeo soluciona el problema de que no hay forma de obtener un registro exacto de potencias de 10, por ejemplo Math.log (1000) / Math.LN10 == 2.9999999999999996 Por supuesto, uno debería agregar la validación de los parámetros.


// Return a string padded function FormatMe(n) { return (n<10) ? ''0''+n : n; }


function pad(d) { return (d < 10) ? ''0'' + d.toString() : d.toString(); } pad(1); // 01 pad(9); // 09 pad(10); // 10


function padLeft(a, b) { var l = (a + '''').length; if (l >= b) { return a + ''''; } else { var arr = []; for (var i = 0; i < b - l ;i++) { arr.push(''0''); } arr.push(a); return arr.join(''''); } }


String("0" + x).slice(-2);

donde x es tu numero