web-dev-qa-db-fra.com

Comment utiliser DecimalPipe du composant en angulaire?

J'ai une exigence que je dois convertir le nombre en utilisant le tuyau décimal de ts

Au lieu d'utiliser un tuyau décimal comme celui-ci

<td>{{rmanFmvRulesDef.max  | number :'1.2-2'}}</td>

Je veux le manipuler à partir du composant, quelqu'un peut-il m'aider?

6
Soumya Gangamwar

Comme d'habitude dans angular vous pouvez compter sur DI. Vous pouvez remplacer la fonction de transformation dans les ts.

import { DecimalPipe } from '@angular/common';
class MyService {
  constructor(private _decimalPipe: DecimalPipe) {
}
transformDecimal(num) {
    return this._decimalPipe.transform(num, '1-2.2');
   }
}

Ajoutez DecimalPipe dans le tableau des fournisseurs sinon cela donnera une erreur

providers: [DecimalPipe,...]
2
parag badala

Vous pouvez voir l'exemple sur Stackblitz

Appelez simplement par: element.price = format.formatCurrency(element.price);

Une fois que vous avez défini l'aide. Vous pouvez définir par: <h2 *ngFor="let item of item">{{ item.price }}</h2> Comme exemple.

Composant:

import { accounting } from 'accounting';

export function formatCurrency(value) {
    return accounting.formatMoney(value, '', 0, ' ', '.');
}

export function unformatCurrency(value) {
    return accounting.unformat(value);
}

Remarque: return accounting.formatMoney(value, '', 0, ' ', '.'); Vous pouvez modifier ' ' Et . Avec le séparateur de votre choix , Ou l'espace. Pour combien de nombres derrière la décimale vous pouvez mettre à jour le nombre 0 En combien de chiffres vous voulez.

2
Mukyuu