8
votes

Nombres longs séparés de 3 chiffres

Y a-t-il un moyen facile de transformer 1000000 dans 1.000.000? Un format de regex ou de chaîne dans ASP.NET, C #


3 commentaires

Est-ce un nombre ou une chaîne pour commencer?


Si vous utilisez. Au lieu de, pour accueillir la culture locale, voir ma réponse ci-dessous ...


Note personnelle: geekzilla.co.uk/view00ff7904-b510-468c -A2C8-F859AA20581F.HTM


5 Réponses :


2
votes

Utilisez ToString avec une chaîne de format numérique après la lecture dans un entier. Je crois que celui que vous recherchez est "N" et de ses proches.

page MSDN sur les chaînes de format numériques: http://msdn.microsoft. com / fr-nous / bibliothèque / dwhawy9k.aspx


0 commentaires

5
votes
1000000.ToString("N0")

4 commentaires

valeur.tostring ("n0"). Remplacer (',', '.'); fait l'affaire. Aussi virgule ou point provient du réglage du séparateur système. Pour tout cas, je remplace la virgule avec DOT. Merci.


Ne fonctionnera pas en Inde si (ils ne groupent pas de groupes à 3 chiffres)


@Fredrik, cela fonctionnera selon les paramètres régionaux, quoi qu'ils soient


Exactement, et le titre de la question est "des nombres longs séparés par 3 chiffres" . Si votre code s'exécute dans la culture 'Hi-in', la sortie sera 10,00 000 .



4
votes

Utiliser Tostring ("N") Après convertir 1000000 à 1 000 000. Pas sûr de. Bien que


1 commentaires

Cela dépendra probablement des paramètres de la culture. En Turquie, il devrait faire défaut des points plutôt que des virgules. Vous devriez donc être ok.



6
votes

Je pense que vous posez des questions sur le formatage spécifique à la culture. C'est la manière espagnole, par exemple: xxx


0 commentaires

11
votes

Vous pouvez utiliser tostring code> avec une chaîne de formatage et un fournisseur de format qui utilise '.' ' En tant que séparateur de groupe et définit que le nombre doit être regroupé en groupes à 3 chiffres (ce qui n'est pas le cas pour toutes les cultures):

int number = 1000000;
Console.WriteLine(number.ToString("N0", new NumberFormatInfo()
                                            {
                                                NumberGroupSizes = new[] { 3 },
                                                NumberGroupSeparator = "."
                                            }));


1 commentaires

Cool ne signifie pas toujours correct. La solution de Egrunin est bien meilleure que c'est la bonne "globale". Bien sûr, nous ne savons pas vraiment ce que l'op voulait :)