Comment obtenir les chiffres après la virgule ?
Par exemple, si j'ai 5.55
comment puis-je obtenir .55
?
Comment obtenir les chiffres après la virgule ?
Par exemple, si j'ai 5.55
comment puis-je obtenir .55
?
Exemple :
import math
x = 5.55
print((math.floor(x*100)%100))
Cela vous donnera deux chiffres après la virgule, 55 dans cet exemple. Si vous avez besoin d'un seul chiffre, vous réduisez de 10 les calculs ci-dessus ou vous les augmentez en fonction du nombre de chiffres que vous voulez après la virgule.
Une autre option serait d'utiliser le re
module avec re.findall
o re.search
:
import re
def get_decimcal(n: float) -> float:
return float(re.search(r'\.\d+', str(n)).group(0))
def get_decimcal_2(n: float) -> float:
return float(re.findall(r'\.\d+', str(n))[0])
def get_int(n: float) -> int:
return int(n)
print(get_decimcal(5.55))
print(get_decimcal_2(5.55))
print(get_int(5.55))
0.55
0.55
5
Si vous souhaitez simplifier/modifier/explorer l'expression, elle a été expliquée dans le panneau supérieur droit de la page regex101.com . Si vous le souhaitez, vous pouvez également regarder en ce lien comment il se comporterait par rapport à certains échantillons.
Comment se débarrasser des nombres flottants supplémentaires dans la soustraction en python ?
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.
2 votes
En rapport : En Python, comment diviser un nombre par le point décimal ?
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.