Calcul avec python probleme emplacement point

Résolu
xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je suis sur python 3 et j'ai besoin de faire un calcul seulement la virgule ne ce trouve pas au bonne endroit

calcul  = (1.5 * 1000)
print ("calcul")
le résultat est : 1500.0


... or il faut qu'il m'affiche
1.500


Merci d'avance pour vos avis, aides et conseils.

Configuration: Linux / Firefox 94.0
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

un avis ? revoir tes cours de maths ???

1.5 * 1000 ... ça fait bien 1500 .. ou 1500.0 si on garde une décimale ..

0
brucine Messages postés 21674 Date d'inscription   Statut Membre Dernière intervention   3 424
 
Bonjour,

Sauf si l'on travaille dans un pays anglo-saxon, mais où le séparateur ne sera pas le point (qui y est un séparateur décimal) mais la virgule: 1,500.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > brucine Messages postés 21674 Date d'inscription   Statut Membre Dernière intervention  
 
Que tu prennes un point ou une virgule pour le séparateur décimal .. 1.5 * 1000 ou 1,5 *1000 ... ça donne toujours 1500

J'ai surtout l'impression qu'il mélange le séparateur décimal et le séparateur de milliers (qui peut lui aussi se présenter de diverses façons selon le pays et la norme désirée) .. mais ce n'est pas un problème de calcul .. c'est juste une question de "formatage" de l'affichage
0
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879
 
Bonjour,

Comme le dit brucine, il y a confusion entre le séparateur entre la partie entière et la partie décimal, et un éventuel séparateur pour les puissances de 1000.

En programmation le séparateur entier/décimal est toujours "." quel que soit le langage de programmation. Il reste possible en python de personnaliser leur affichage. Idéalement, celui-ci dépend de la locale (c'est-à-dire les paramètres liés à sa zone géographique). Par exemple, dans un texte français, on aurait tendance à utiliser une espace insécable comme séparateur (plutôt qu'un ".") pour les puissances de 1000 et "," pour le séparateur entier/décimal.

Une manière de faire pour personnaliser les deux :

def value_to_string(x):
    return "".join(
        '.' if a == ',' else
        ',' if a == '.' else
        a
        for a in f"{x:,}"
    )

value_to_string(12345678.9876) # Affiche  '12.345.678,9876'


Plus de détails ici et ici.

Bonne chance
0