Angular2 ou TypeScript Rangement de remplissage gauche par zéros

J'ai une chambre, dis, 9. Mais j'en ai besoin comme une rangée "09".

Je sais que je peux écrire ma propre logique. Mais je cherche une fonction implicite util, qui peut l'ajouter.

j'utilise angular2 de TypeScript. À la recherche de rien - alors il semble
https://coderoad.ru/4469717/
.

Ressemble juste à java


String.format/"0d", Integer.parseInt/mystring//;
Invité:

Giselle

Confirmation de:

Vous pouvez créer votre propre fonction pour cela. Pour formater le numéro, vous devrez d'abord le convertir en chaîne.


function pad/num, size/ {
let s = num+"";
while /s.length < size/ s = "0" + s;
return s;
}


TypeScript


pad/num:number, size:number/: string {
let s = num+"";
while /s.length < size/ s = "0" + s;
return s;
}


Edit:

Il y a plusieurs moyens meilleurs et plus efficaces de le faire.
Voir la discussion dans cette réponse:

/Je recommande de lire la plupart des réponses représentées si vous avez le temps/

Mettre à jour:

ECMAScript 2017 Maintenant, Soutien aux lignes de remplissage


str.padStart/targetLength [, padString]/
str.padEnd/targetLength [, padString]/


Vérifier
https://developer.mozilla.org/ ... Start

Emilie

Confirmation de:

Commençant par Angular v4 il y a DecimalPipe, Qui ajoutons facilement des zéros principaux:
https://angular.io/api/common/DecimalPipe
Dans votre html Vous pouvez utiliser quelque chose comme:


{{ myNumber | number:'2.0' }}

Dominique

Confirmation de:

Vous pouvez utiliser l'un des modèles suivants dans HTML


{{ /"00" + 9/.slice/-2/ }} // 09


Ou


{{ 9 | number: '2.' }} // 09


Ou dans le fichier de code de composant ts


var x = /"00" + 9/.slice/-2/;

Alice

Confirmation de:

Avec ce dernier Typescript Tu peux faire:


let myStr:string = padLeft/'123', '0', 6/; // '000123'

padLeft/text:string, padChar:string, size:number/: string {
return /String/padChar/.repeat/size/ + text/.substr/ /size * -1/, size/ ;
}

Giselle

Confirmation de:

public padIntegerLeftWithZeros/rawInteger: number, numberOfDigits: number/: string {
let paddedInteger: string = rawInteger + '';
while /paddedInteger.length < numberOfDigits/ {
paddedInteger = '0' + paddedInteger;
}
return paddedInteger;
}

public zeroPadIntegerLeft3Digits/rawInteger: number/: string {
return this.padIntegerLeftWithZeros/rawInteger, 3/;
}

Emilie

Confirmation de:

Si je veux insérer "0" Au début et vouloir la longueur

cordes

str

était égal

9

:


str.padStart/9 ,"0"/

Dominique

Confirmation de:

Pour cela, vous pouvez créer un tuyau


{{ID |LeftPadFilter: ID}}



import { Pipe, PipeTransform } from '@angular/core';

@Pipe/{
name: 'LeftPadFilter',
pure: false
}/
export class LeftPadFilter implements PipeTransform {
transform/item: string/: string {
return /String/'0'/.repeat/2/ + item/.substr//2 * -1/, 2/;
}
}

Pour répondre aux questions, connectez-vous ou registre