83 votes

python format string thousand separator with spaces

Pour imprimer un nombre avec un séparateur de milliers, on peut utiliser la chaîne de format python :

'{:,}'.format(1234567890)

Mais comment puis-je spécifier que je veux un espace pour le séparateur de milliers ?

2voto

ad007 Points 116

La communauté Python l'a défini comme suit PEP 378 où l'on peut voir que la proposition principale comprend format() fonction. Ainsi, en suivant cette proposition, je suggère d'utiliser ce qui suit :

format(1234567890, ',d').replace(',',' ')

0voto

Si vous ne voulez pas utiliser le local, une solution qui fonctionne avec toutes les tailles de chaînes :

    def format_number(string):
        j = len(string) % 3
        substrings = [string[3 * i + j:3 * (i + 1) + j] for i in                                         range(len(string)//3)]
        if j != 0:
            substrings.insert(0, string[:j])
        return " ".join(substrings)

-2voto

Vous pouvez utiliser une chaîne f :

number = 1234567890
f"{number:,.2f}"

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