172 votes

Comment obtenir les chiffres après la virgule ?

Comment obtenir les chiffres après la virgule ?

Par exemple, si j'ai 5.55 comment puis-je obtenir .55 ?

2 votes

0 votes

Je pense que vous devriez modifier la réponse acceptée à ce sujet. J'ai failli ne pas faire défiler le texte jusqu'à la réponse votée x10 fois, et cela m'aurait fait mal plus tard.

0 votes

Je pense que c'est une approche simple : float( '0.' + str(5.55).split('.')[1] ) >>> 0.55. Mais si quelqu'un pense différemment, faites-le moi savoir.

0voto

Nutan Panta Points 41
def fractional_part(numerator, denominator):
    if denominator == 0:
        return 0
    else:
        return numerator / denominator - numerator // denominator

print(fractional_part(5, 5)) # Should be 0
print(fractional_part(5, 4)) # Should be 0.25
print(fractional_part(5, 3)) # Should be 0.66...
print(fractional_part(5, 2)) # Should be 0.5
print(fractional_part(5, 0)) # Should be 0
print(fractional_part(0, 5)) # Should be 0

0voto

Ken Vac Points 1

J'arrive tard dans la soirée et je laisse un commentaire pour les nouveaux visiteurs. Si vous savez que vous n'avez besoin que de deux décimales, vous pouvez utiliser l'arrondi entrant.

round(1.15 % 1, 2)

-1voto

Gideon Antwi Points 1

Une solution consiste à utiliser les modulo et les arrondis.

import math

num = math.fabs(float(5.55))
rem = num % 1

rnd_by =   len(str(num)) - len(str(int(num))) - 1

print(str(round(rem,rnd_by)))

Votre résultat sera de 0,55

-2voto

Romulus Points 435

Une autre solution farfelue est (sans convertir en chaîne) :

number = 123.456
temp = 1

while (number*temp)%10 != 0:
    temp = temp *10
    print temp
    print number

temp = temp /10
number = number*temp
number_final = number%temp
print number_final

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