0
votes

Python - Comment ne pas être exposé à la notation scientifique (E.g 1.2 ** 1000 = 1.5179100891722457E + 79)

Lorsque vous calculez le texte suivant 2 ** 1000 par exemple, vous obtenez la valeur entière

10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376

Mais si vous faites la même chose pour un flotteur I.e 1.2 ** 1000 il donne

1.5179100891722457E + 79

Y a-t-il une manière intégrée pour obtenir toute la valeur d'un tel calcul (pas en notation scientifique)?


0 commentaires

4 Réponses :


1
votes

Vous devriez pouvoir utiliser format () xxx

donne la sortie 15179100891722457049849556131606919186730749191867307493867257126004713928916992.000000


0 commentaires

1
votes

Essayez de casting sur un entier. XXX

Si vous souhaitez obtenir des décimales, vous devez effectuer des travaux supplémentaires en fonction de votre objectif


0 commentaires

1
votes

La raison du comportement que vous voyez est que la première expression aboutit à un entier puisque ses deux opérandes sont des entiers, tandis que la deuxième expression est un nombre de points flottant, car l'un des opérandes est un flotteur. Pour obtenir le résultat souhaité, vous pouvez lancer le résultat de la deuxième expression à un int: xxx


0 commentaires

0
votes

Vous pouvez l'utiliser pour l'imprimer xxx pré>

Ceci sortira: p> xxx pré>

Vous pouvez également avoir des valeurs décimales. Il le formatera de la même manière. P> xxx pré>

Si vous souhaitez obtenir le numéro complet imprimé, vous pouvez procéder comme suit: P>

1234567890987654400.0


0 commentaires