python chaîne de format de séparateur de milliers avec des espaces
Pour le nombre d'impression avec séparateur de milliers,
on peut utiliser le python chaîne de format :
'{:,}'.format(1234567890)
Mais comment puis-je précise que je veux un espace pour le séparateur de milliers?
Vous devez vous connecter pour publier un commentaire.
Ici est mauvais, mais la solution la plus simple si vous ne voulez pas salir avec
locale
:Réponse de @user136036 est assez bonne, mais malheureusement il ne tient pas compte de la réalité de Python bugs. Réponse pourrait être la suivante:
Variante Un
Si les paramètres régionaux de votre plate-forme est le droit de travailler, alors il suffit d'utiliser les paramètres régionaux:
Résultat dépend de vos paramètres régionaux et Python travail de mise en œuvre à droite.
Mais que faire si Python mise en forme selon les paramètres régionaux est cassé, par exemple, Python 3.5 sur Linux?
Variante B
Si Python n'a pas de respect
grouping=True
paramètre, vous pouvez utiliser les paramètres régionaux et une solution de contournement (utiliser monétaire format):Ci-dessus donne 12.345,68 sur ma plate-forme. Monétaire de Faux ou d'omettre de l'il - Python n'a pas de groupe de des milliers.
La spécification de
locale._override_localeconv = {'thousands_sep': '.'}
ne rien faire.Variante C
Si vous n'avez pas le temps de vérifier ce qui fonctionne bien et ce qui est brisé avec Python sur votre plate-forme, vous pouvez simplement utiliser régulier de la chaîne de fonction remplacer (si vous voulez échanger des virgules et de points à points et des virgules):
print("{:,.2f}".format(7123001.345).replace(",", "X").replace(".", ",").replace("X", "."))
Remplacement de la virgule pour l'espace est trivial (le point est supposé séparateur décimal):
print("{:,.2f}".format(7123001.345).replace(",", " ")
'{:,d}'.format
ne dépend pas de paramètres régionaux. Vous pourriez avoir confondu avec'{:n}'.format
.Ceci permettra de définir les paramètres régionaux de l'environnement de votre système d'exploitation par défaut emplacement:
Ensuite, vous pouvez utiliser:
Vous aurez à utiliser la
'n'
locale-conscient format de nombre à la place, et définissez vos paramètres régionaux à celui qui utilise un espace comme séparateur de milliers. Oui, c'est douloureux.str.format()
.%
mise en forme de chaîne? Ce type de mise en forme de chaîne ne prend pas en chargen
, dans toute version de Python.