Quero formatar um número para ter dois dígitos. O problema é causado quando 0
- 9
é passado, por isso preciso que seja formatado para 00
- 09
.
Existe um formatador de números em JavaScript?
javascript
number-formatting
Keith Power
fonte
fonte
Respostas:
O melhor método que encontrei é algo como o seguinte:
(Observe que esta versão simples funciona apenas para números inteiros positivos)
Para decimais, você pode usar esse código (embora seja um pouco desleixado).
Por fim, se você tiver que lidar com a possibilidade de números negativos, é melhor armazenar o sinal, aplicar a formatação ao valor absoluto do número e reaplicar o sinal após o fato. Observe que esse método não restringe o número a 2 dígitos no total. Em vez disso, restringe apenas o número à esquerda do decimal (a parte inteira). (A linha que determina o sinal foi encontrada aqui ).
fonte
.toPrecision()
método w3schools.com/jsref/jsref_toprecision.aspSe o número for maior que 9, converta o número em uma sequência (consistência). Caso contrário, adicione um zero.
fonte
Use o método toLocaleString () em qualquer número. Portanto, para o número 6, como visto abaixo, você pode obter os resultados desejados.
Irá gerar a string '06'.
fonte
(6).toLocaleString(undefined, {minimumIntegerDigits: 2})
Aqui está uma função simples de preenchimento de números que eu costumo usar. Permite qualquer quantidade de preenchimento.
Exemplos:
fonte
Em todos os navegadores modernos, você pode usar
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
fonte
A resposta de @ Lifehack foi muito útil para mim; onde eu acho que podemos fazer isso em uma linha para números positivos
fonte
fonte
("0" + (date.getDate())).slice(-2);
Você pode fazer:
Exemplo:
Resultado:
fonte
Parece que você pode ter uma string, em vez de um número. usa isto:
Aqui está um exemplo: http://jsfiddle.net/xtgFp/
fonte
Um forro rápido e sujo ....
fonte
Number.prototype.leftPad = String.prototype.leftPad = function (pad) { return 0..toFixed(pad).slice(2, -this.toString().length) + this.toString(); };
Isso é simples e funciona muito bem:
fonte
Aqui está uma solução muito simples que funcionou bem para mim.
Primeiro declare uma variável para armazenar seu número.
Agora converta o número em uma string e mantenha-o em outra variável;
Agora você pode testar o comprimento dessa sequência, se for menor que o desejado, você pode acrescentar um 'zero' no início.
Agora use o número conforme desejado
fonte
Aqui está a solução mais fácil que encontrei: -
fonte
Versão aprimorada da resposta anterior
fonte
Eu sei que este é um post antigo, mas eu queria fornecer uma opção de solução OO mais flexível e.
Extrapolei um pouco a resposta aceita e estendi o
Number
objeto do javascript para permitir o preenchimento zero ajustável:Editar: adicione código para evitar o corte de números maiores que os dígitos solicitados.
NOTA: Isso é obsoleto em todos, exceto no IE. Use em
padStart()
vez disso.fonte
Não há um formatador de número interno para JavaScript, mas existem algumas bibliotecas que fazem isso:
fonte
ou
com
fonte
Se você deseja limitar seus dígitos ao mesmo tempo:
Isso também cortaria qualquer valor que exceda dois dígitos. Eu estendi isso sobre a solução de Fanaur.
fonte
fonte
Aqui está uma solução recursiva simples que funciona para qualquer número de dígitos.
fonte
Se você não possui lodash em seu projeto, será um exagero adicionar a biblioteca inteira apenas para usar uma função. Esta é a solução mais sofisticada do seu problema que eu já vi.
fonte
Aqui está a minha versão. Pode ser facilmente adaptado a outros cenários.
fonte
fonte
Para quem quer ter diferenças de horário e obter resultados que podem levar números negativos, aqui é bom. bloco (3) = "03", bloco (-2) = "-02", bloco (-234) = "-234"
fonte
Com esta função, você pode imprimir com os n dígitos que desejar
fonte
meu exemplo seria :
fonte
`${number}`.replace(/^(\d)$/, '0$1');
Regex é o melhor.
fonte
Como o tipo de dados AS em Javascript é determinado dinamicamente, ele trata 04 como 4 .
fonte
Criei uma função de formato bastante simples que chamo sempre que preciso de uma data simples formatada. Ele lida com a formatação de um dígito para dois dígitos quando eles são menores que 10. Ele inicia uma data formatada como
Sat Sep 29 2018 - 00:05:44
Essa função é usada como parte de uma variável utils, por isso é chamada como:
fonte
Atualizado para as funções de seta do ES6 (suportado em quase todos os navegadores modernos, consulte CanIUse )
fonte