web-dev-qa-db-fra.com

comment formater un nombre en devise lors de l'utilisation de React native EXPO?

comment prendre un nombre comme 10000 et le faire sortir comme $10,000.00?

J'ai même eu un problème avec String.format(...) avec une erreur Not a function.

J'ai suivi de nombreux articles, tous incomplets et aucun fonctionnant.

Je n'ai pas besoin d'une internationalisation complète, juste de la possibilité de formater un nombre

15
Choco

Vous pouvez utiliser cette bibliothèque react-number-format . Il a ces caractéristiques

  1. Préfixe, suffixe et séparateur de milliers.
  2. Modèle de format personnalisé.
  3. Masquage.
  4. Gestionnaire de formatage personnalisé.
  5. Formater le numéro dans une entrée ou formater comme un simple texte

Exemple d'utilisation

<NumberFormat value={2456981} displayType={'text'} thousandSeparator={true} prefix={'$'} />

Produit: 2456981 $

10
Masuk Helal Anik

Vous pouvez utiliser la méthode toFixed pour afficher 2 décimales.

let num = 1000; 
console.log(num.toFixed(2)); // 1000.00

Et vous pouvez utiliser Regex comme ceci

function currencyFormat(num) {
   return '$' + num.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,')
}
console.log(currencyFormat(2665)); // $2,665.00
11
Robin

Rien de ce qui précède n'a fonctionné pour moi ... mais ce type avait la bonne idée/solution https://medium.com/@nidhinkumar/react-js-number-format-and-styling-a1a6e211e629

const numberFormat = (value) =>
  new Intl.NumberFormat('en-IN', {
    style: 'currency',
    currency: 'INR'
  }).format(value);

numberFormat(50000); //output as ₹ 50,000.00
numberFormat(10000); //output as ₹ 10,000.00
1
Murray