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?
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,...]
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.