Je veux formater un nombre pour avoir deux chiffres. Le problème est causé lorsque 0
- 9
est passé, j'ai donc besoin qu'il soit formaté en 00
- 09
.
Existe-t-il un formateur de nombres en JavaScript?
javascript
number-formatting
Keith Power
la source
la source
Réponses:
La meilleure méthode que j'ai trouvée est quelque chose comme ceci:
(Notez que cette version simple ne fonctionne que pour les entiers positifs)
Pour les décimales, vous pouvez utiliser ce code (c'est un peu bâclé cependant).
Enfin, si vous devez faire face à la possibilité de nombres négatifs, il est préférable de stocker le signe, d'appliquer la mise en forme à la valeur absolue du nombre et de réappliquer le signe après coup. Notez que cette méthode ne limite pas le nombre à 2 chiffres au total. Au lieu de cela, il restreint uniquement le nombre à gauche de la décimale (la partie entière). (La ligne qui détermine le signe a été trouvée ici ).
la source
.toPrecision()
méthode w3schools.com/jsref/jsref_toprecision.aspSi le nombre est supérieur à 9, convertissez-le en chaîne (cohérence). Sinon, ajoutez un zéro.
la source
Utilisez la méthode toLocaleString () dans n'importe quel nombre. Ainsi, pour le numéro 6, comme indiqué ci-dessous, vous pouvez obtenir les résultats souhaités.
Générera la chaîne '06'.
la source
(6).toLocaleString(undefined, {minimumIntegerDigits: 2})
Voici une simple fonction de remplissage numérique que j'utilise habituellement. Il permet n'importe quelle quantité de rembourrage.
Exemples:
la source
Dans tous les navigateurs modernes, vous pouvez utiliser
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
la source
La réponse de @ Lifehack m'a été très utile; où je pense que nous pouvons le faire en une seule ligne pour les nombres positifs
la source
la source
("0" + (date.getDate())).slice(-2);
Tu peux faire:
Exemple:
Résultat:
la source
Il semble que vous ayez une chaîne au lieu d'un nombre. utilisez ceci:
Voici un exemple: http://jsfiddle.net/xtgFp/
la source
Une doublure rapide et sale ....
la source
Number.prototype.leftPad = String.prototype.leftPad = function (pad) { return 0..toFixed(pad).slice(2, -this.toString().length) + this.toString(); };
C'est simple et ça marche plutôt bien:
la source
Voici une solution très simple qui a bien fonctionné pour moi.
Déclarez d'abord une variable pour contenir votre numéro.
Convertissez maintenant le nombre en chaîne et maintenez-le dans une autre variable;
Vous pouvez maintenant tester la longueur de cette chaîne, si elle est inférieure à celle souhaitée, vous pouvez ajouter un «zéro» au début.
Maintenant, utilisez le numéro comme vous le souhaitez
la source
Voici la solution la plus simple que j'ai trouvée: -
la source
Version améliorée de la réponse précédente
la source
Je sais que c'est un ancien poste, mais je voulais fournir une option de solution plus flexible et OO.
J'ai extrapolé un peu la réponse acceptée et étendu l'
Number
objet javascript pour permettre un remplissage nul réglable:Modifier: ajoutez du code pour éviter de couper des nombres plus longs que les chiffres demandés.
REMARQUE: Ceci est obsolète dans tous sauf IE. Utilisez
padStart()
plutôt.la source
Il n'y a pas de formateur de nombres intégré pour JavaScript, mais il y a quelques bibliothèques qui accomplissent cela:
la source
ou
avec
la source
Si vous souhaitez limiter vos chiffres en même temps:
Cela couperait également toute valeur supérieure à deux chiffres. J'ai étendu cela sur la solution de fanaur.
la source
la source
Voici une solution récursive simple qui fonctionne pour n'importe quel nombre de chiffres.
la source
Si vous n'avez pas de lodash dans votre projet, il sera exagéré d'ajouter toute la bibliothèque juste pour utiliser une fonction. C'est la solution la plus sophistiquée de votre problème que j'aie jamais vue.
la source
Voici ma version. Peut facilement être adapté à d'autres scénarios.
la source
la source
Pour tous ceux qui veulent avoir des différences de temps et des résultats qui peuvent prendre des nombres négatifs, voici un bon. pad (3) = "03", pad (-2) = "-02", pad (-234) = "-234"
la source
avec cette fonction, vous pouvez imprimer avec n chiffres que vous voulez
la source
mon exemple serait :
la source
`${number}`.replace(/^(\d)$/, '0$1');
Regex est le meilleur.
la source
Comme le type de données en Javascript est déterminé dynamiquement, il traite 04 comme 4 Utilisez une instruction conditionnelle si la valeur est inférieure à 10, puis ajoutez 0 avant en lui faisant la chaîne E.g,
la source
J'ai construit une fonction de formatage assez simple que j'appelle chaque fois que j'ai besoin d'une date simple formatée. Il traite de la mise en forme de chiffres simples à deux chiffres lorsqu'ils sont inférieurs à 10. Il lance une date formatée comme
Sat Sep 29 2018 - 00:05:44
Cette fonction est utilisée dans le cadre d'une variable utils, elle est donc appelée comme:
la source
Mis à jour pour les fonctions fléchées ES6 (pris en charge dans presque tous les navigateurs modernes, voir CanIUse )
la source