Python réglage Décimale de gamme sans arrondi?
Comment puis-je prendre une variable de type float, et de contrôler dans quelle mesure le flotteur va sans round()? Par exemple.
w = float(1.678)
Je veux prendre x et les variables hors de lui.
x = 1.67
y = 1.6
z = 1
Si j'utilise la ronde respective méthodes:
x = round(w, 2) # With round I get 1.68
y = round(y, 1) # With round I get 1.7
z = round(z, 0) # With round I get 2.0
Il va rond et modifier les numéros au point où il n'y pas d'utilité pour moi. Je comprends que c'est le point de ronde et son travail correctement. Comment puis-je obtenir les informations dont j'ai besoin dans le x,y,z des variables et toujours être en mesure de les utiliser dans d'autres équations dans un format flottant?
[math.floor(w * 10 ** i) / 10 ** i for i in range(3)]
- Le commentaire ci-dessus est effectivement ce que j'ai utilisé dans ce cas. Je ne suis pas en mesure de l'accepter comme la réponse qu'il a posté un commentaire. Merci!!!!
Vous devez vous connecter pour publier un commentaire.
Que vous pouvez faire:
test:
Une super solution simple est d'utiliser des chaînes de
Tout de virgule flottante, la bibliothèque des solutions, il faudrait vous esquiver certaines d'arrondissement, et à l'aide de plancher/puissances de 10 pour choisir le nombre de décimales peut être un peu poilue par rapport à la ci-dessus.
Si vous avez juste besoin de contrôle de la précision du format
Si vous avez besoin de contrôler la précision en arithmétique à virgule flottante
--edit--
Sans "l'arrondi", donc le fait de tronquer le nombre