2010-11-18 4 views
5

Dans Android, existe-t-il un moyen facile d'insérer des virgules dans une valeur numérique? par exemple si j'ai un EditText avec 12345 dedans, comment puis-je l'afficher comme 12 345?Insérer des virgules dans des entiers

Je pense que je peux le faire en utilisant la sous-chaîne et en l'hachant en x nombre de morceaux de 3 nombres puis en concaténant la réponse avec ',' entre chaque morceau de 3 nombres. Ce serait assez facile si la longueur du nombre était constante, mais comme le nombre pourrait être d'un chiffre à, disons 20, il le rend plus complexe. Juste curieux de savoir s'il existe un moyen simple et propre d'y parvenir avant de faire ma solution de sous-chaîne.

Vive

+0

vous devez spécifier probablement ce que la langue que vous utilisez , non? – aaronasterling

+0

Est-ce Java? (Je devine de "EditText") –

+0

Quelle langue utilisez-vous? De nombreuses langues ont des fonctions de formatage intégrées. – Ray

Répondre

16

Si Java -

Utilisez quelque chose comme ceci:

double amount = 2324343192.015; 
    NumberFormat formatter = new DecimalFormat("###,###,###.##"); 
    System.out.println("The Decimal Value is: "+formatter.format(amount)); 

Résultat: la valeur décimale est: 2,324,343,192.02

+0

Merci pour l'aide. Est-ce que cela ne fonctionne que sur des valeurs doubles? – Entropy1024

+0

J'ai utilisé le code ci-dessous mais il renvoie 123456.0, pas comme je l'aurais espéré 123 456. Où vais-je me tromper s'il vous plaît? \t \t \t \t double quantité = 123456; \t \t \t NumberFormat formatter = new DecimalFormat ("###, ###, ###"); \t \t \t formatter.format (montant); \t \t \t totalFrames.setText (Double.toString (montant)); – Entropy1024

+0

Ah, juste compris où je me trompais. Le résultat formaté retourné est une chaîne oui? – Entropy1024

Questions connexes