120 votes

Séparateur de milliers en Javascript / format de chaîne de caractères

Existe-t-il une fonction en Javascript pour formater les nombres et les chaînes de caractères ?

Je cherche un moyen de faire un séparateur de milliers de caractères ou de nombres... (Comme String.Format en c#)

1voto

Chinedu Ofor Points 329

Combinaison de solutions pour réagir

  let converter = Intl.NumberFormat();
  let salary =  monthlySalary.replace(/,/g,'')
  console.log(converter.format(salary))

  this.setState({
    monthlySalary: converter.format(salary)
  })
}

handleOnChangeMonthlySalary(1000)```

0voto

Spencer Sullivan Points 182

Je n'ai aimé aucune des réponses proposées et j'ai donc créé une fonction qui me convient. Je voulais juste partager cette information au cas où quelqu'un d'autre la trouverait utile.

function getFormattedCurrency(num) {
    num = num.toFixed(2)
    var cents = (num - Math.floor(num)).toFixed(2);
    return Math.floor(num).toLocaleString() + '.' + cents.split('.')[1];
}

0voto

moumita kundu Points 11

Vous pouvez utiliser ngx-format-field. Il s'agit d'une directive permettant de formater la valeur d'entrée qui apparaîtra dans la vue. Elle ne manipule pas la valeur d'entrée qui sera sauvegardée dans le backend. Voir le lien aquí !

Exemple :

component.html:

<input type="text" formControlName="currency" [appFormatFields]="CURRENCY"
(change)="onChangeCurrency()">

component.ts

onChangeCurrency() {
this.currency.patchValue(this.currency.value);
}

Pour voir la démo : aquí !

-4voto

Eneroth3 Points 25

N'utilisez jamais une virgule comme séparateur de milliers. La virgule est déjà utilisée comme signe décimal, l'utiliser comme séparateur de milliers revient à utiliser un 8 comme séparateur de milliers. En revanche, il est tout à fait possible d'utiliser un espace.

Source : Norme SI/ISO 31-0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X