Quiero formatear un número para tener dos dígitos. El problema se produce cuando 0
:9
se pasa, por lo que necesito que se formatee a 00
- 09
.
¿Hay un formateador de números en JavaScript?
javascript
number-formatting
Keith Power
fuente
fuente
Respuestas:
El mejor método que he encontrado es algo como lo siguiente:
(Tenga en cuenta que esta versión simple solo funciona para enteros positivos)
Para decimales, podría usar este código (aunque es un poco descuidado).
Por último, si tiene que lidiar con la posibilidad de números negativos, es mejor almacenar el signo, aplicar el formato al valor absoluto del número y volver a aplicar el signo después del hecho. Tenga en cuenta que este método no restringe el número a 2 dígitos en total. En cambio, solo restringe el número a la izquierda del decimal (la parte entera). (La línea que determina el signo se encontró aquí ).
fuente
.toPrecision()
método w3schools.com/jsref/jsref_toprecision.aspSi el número es mayor que 9, conviértalo a una cadena (consistencia). De lo contrario, agregue un cero.
fuente
Use el método toLocaleString () en cualquier número. Entonces, para el número 6, como se ve a continuación, puede obtener los resultados deseados.
Generará la cadena '06'.
fuente
(6).toLocaleString(undefined, {minimumIntegerDigits: 2})
Aquí hay una función de relleno de números simple que uso habitualmente. Permite cualquier cantidad de relleno.
Ejemplos:
fuente
En todos los navegadores modernos puedes usar
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
fuente
La respuesta de @ Lifehack fue muy útil para mí; donde creo que podemos hacerlo en una línea para números positivos
fuente
fuente
("0" + (date.getDate())).slice(-2);
Tu puedes hacer:
Ejemplo:
Resultado:
fuente
Parece que puede tener una cadena, en lugar de un número. utilizar este:
Aquí hay un ejemplo: http://jsfiddle.net/xtgFp/
fuente
Un trazador de líneas rápido y sucio ...
fuente
Number.prototype.leftPad = String.prototype.leftPad = function (pad) { return 0..toFixed(pad).slice(2, -this.toString().length) + this.toString(); };
Esto es simple y funciona bastante bien:
fuente
Aquí hay una solución muy simple que funcionó bien para mí.
Primero declara una variable para contener tu número.
Ahora convierta el número a una cadena y manténgalo en otra variable;
Ahora puede probar la longitud de esta cadena, si es menor de lo deseado, puede agregar un 'cero' al principio.
Ahora use el número que desee
fuente
Aquí está la solución más fácil que encontré: -
fuente
Versión mejorada de respuesta anterior
fuente
Sé que esta es una publicación antigua, pero quería proporcionar una opción de solución OO más flexible.
Extrapolé un poco la respuesta aceptada y extendí el
Number
objeto de javascript para permitir el relleno de cero ajustable:Editar: agregue código para evitar cortar números más largos que los dígitos solicitados.
NOTA: Esto es obsoleto en todos menos en IE. Usar en su
padStart()
lugar.fuente
No hay un formateador de números incorporado para JavaScript, pero hay algunas bibliotecas que logran esto:
fuente
o
con
fuente
Si desea limitar sus dígitos al mismo tiempo:
Esto también cortaría cualquier valor que exceda dos dígitos. He estado extendiendo esto sobre la solución de fanaur.
fuente
fuente
Aquí hay una solución recursiva simple que funciona para cualquier número de dígitos.
fuente
Si no tiene lodash en su proyecto, será excesivo agregar toda la biblioteca solo para usar una función. Esta es la solución más sofisticada de su problema que he visto.
fuente
Aquí está mi versión. Se puede adaptar fácilmente a otros escenarios.
fuente
fuente
Para cualquiera que quiera tener diferencias de tiempo y tener resultados que puedan tomar números negativos aquí es bueno. pad (3) = "03", pad (-2) = "-02", pad (-234) = "-234"
fuente
con esta función puede imprimir con cualquier n dígitos que desee
fuente
mi ejemplo sería :
fuente
`${number}`.replace(/^(\d)$/, '0$1');
Regex es el mejor.
fuente
Como el tipo de datos en Javascript se determina dinámicamente, trata 04 como 4 Use una declaración condicional si el valor es menor que 10 y luego agregue 0 antes haciendo que sea una cadena E.g,
fuente
Construí una función de formato bastante simple que llamo cada vez que necesito una fecha simple formateada. Se trata de formatear dígitos simples a dígitos dobles cuando son menores de 10. Expulsa una fecha formateada como
Sat Sep 29 2018 - 00:05:44
Esta función se usa como parte de una variable utils, por lo que se llama así:
fuente
Actualizado para las funciones de flecha ES6 (compatible con casi todos los navegadores modernos, consulte CanIUse )
fuente