Je suis débutant dans Angular 2.J'essaie d'afficher des données en utilisant angular. ceci est ma partie de code:
<span>Value :</span> <span>{{myvalue| number : '1.2-2'}}</span>
La partie ci-dessus affichera Value comme par exemple: "124,500.00". Son ok mais je dois supprimer la virgule et afficher les données en tant que 124500.00 seulement. De plus, ce n'est pas un type de devise.
J'ai essayé quelque chose comme ça et ça ne marche pas
<span>Value :</span> <span>{{myvalue| number: '.2-3''}}</span>
Comment puis-je faire? Puis-je utiliser n'importe quel tuyau personnalisé?
Merci d'avance
En fait, il semble qu'il n'y ait pas de paramètre direct dans DecimalPipe pour modifier ou supprimer les points décimaux. Il serait probablement préférable d’écrire votre propre tuyau pour supprimer les points décimaux.
Vous pouvez écrire votre propre canal qui remplace complètement l'utilisation actuelle de DecimalPipe (un tube unique pour tout) ou un tuyau qui supprime les virgules après l'utilisation de DecimalPipe (canaux chaînés). La dernière option pourrait ressembler à ceci (j'ai obtenu le code de this answer, donc salut à Adrien).
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'noComma'
})
export class NoCommaPipe implements PipeTransform {
transform(val: number): string {
if (val !== undefined && val !== null) {
// here we just remove the commas from value
return val.toString().replace(",", "");
} else {
return "";
}
}
}
Vous pouvez ensuite enchaîner les tuyaux comme ceci.
<span>Value :</span> <span>{{myvalue| number : '1.2-2' | noComma}}</span>
N'oubliez pas de déclarer votre pipe dans votre module.
Modification des arguments REPLACE afin que toutes les virgules soient supprimées (10 000 000 = 10 000 000), sinon je me suis retrouvé avec (10 000 000 = 10 000 000) Tout le reste a bien fonctionné selon Benedikt.
@Pipe({
name: 'noComma'
})
export class NoCommaPipe implements PipeTransform {
transform(val: number): string {
if (val !== undefined && val !== null) {
// here we just remove the commas from value
return val.toString().replace(/,/g, "");
} else {
return "";
}
}
}