Je voudrais changer 1762 millisecondes en secondes 1.762 . J'ai essayé la méthode ci-dessous, elle me donne des secondes à un chiffre lorsque j'ai besoin de secondes comme mentionné ci-dessus (c'est-à-dire " 1.762 ").
seconds=(rcccc/1000)%60
sec = int(seconds)
3 réponses
Parmi les nombreuses façons de résoudre ce problème, une façon serait de spécifier que l'un des opérandes est un flottant.
>>> 1762 / 1000 # Both integers
1
>>> 1762 / 1000.0 # One float
1.762
Cela semble être Python 2.x
, et cela est dû à une division entière. Lorsque bot le numérateur et le dénominateur sont entiers, les résultats seront entiers:
seconds=(rcccc/1000)%60 #this is called integer division: int/int -> resulting in int
Utilisez le point (.
) dans votre nombre pour éviter la division entière, indiquant clairement au compilateur que vous ne voulez pas de division entière, mais de virgule flottante:
seconds=(rcccc/1000.0)%60
Vous pouvez également convertir une des valeurs en float
:
seconds=(rcccc/float(1000))%60
#or
seconds=(float(rcccc)/1000)%60
Vous avez juste oublié de mettre .0
. Le fait est que lorsque vous divisez par 1000, il prend la fonction de plancher de la vraie valeur (1,762). Si vous voulez obtenir la vraie valeur, vous devrez représenter 1000 sous forme décimale, par exemple 1000.0
. Si vous l'utilisez, il obtiendra la vraie valeur que vous souhaitez (1.762).
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.