recherche

Maison  >  Questions et réponses  >  le corps du texte

python - Le problème de la conservation du nombre de décimales dans les nombres

Je vais effectuer une opération sur chaque élément dans [-0.32695389161796801, -0.31471406408825409, -0.31475407980700348] en conservant d'abord 3 chiffres après la virgule décimale, puis en conservant 2 chiffres après la virgule décimale, comme round(round(-0.3269538 9161796801,3) ,2) méthode, j'obtiens [-0.33000000000000002, -0.32000000000000001, -0.32000000000000001], mais ce que je veux obtenir c'est [-0.33, -0.32, -0.32], merci

PHP中文网PHP中文网2811 Il y a quelques jours999

répondre à tous(1)je répondrai

  • 天蓬老师

    天蓬老师2017-05-18 10:54:59

    Lorsque vous utilisez Python pour gérer des nombres à virgule flottante où la précision est importante, il est recommandé d'utiliser la bibliothèque Decimal intégrée :

    from decimal import Decimal
    a = Decimal('1.0231212121')
    a = round(a,3) # Decimal('1.023')

    Si vous voulez simplement que cela ait l'air "précis", vous pouvez également utiliser la méthode du format de chaîne

    '{:.2f}'.format(1.0231212121) # '1.02'

    répondre
    0
  • Annulerrépondre