Calcul avec python probleme emplacement point

Résolu/Fermé
xunil2003 Messages postés 761 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 24 mars 2024 - Modifié le 30 nov. 2021 à 17:58
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 30 nov. 2021 à 18:11
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
26 nov. 2021 à 10:07
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 14333 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 27 avril 2024 1 817
26 nov. 2021 à 10:21
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > brucine Messages postés 14333 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 27 avril 2024
26 nov. 2021 à 10:39
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 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
Modifié le 30 nov. 2021 à 18:12
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