[177]pythonでfloatタイプの小数の桁数をどのように保存するか

893 ワード

pythonは小数点を2桁保持します.
In [1]: a = 5.026

In [2]: b = 5.000

In [3]: round(a,2)
Out[3]: 5.03

In [4]: round(b,2)
Out[4]: 5.0

In [5]: '%.2f' % a
Out[5]: '5.03'

In [6]: '%.2f' % b
Out[6]: '5.00'

In [7]: float('%.2f' % a)
Out[7]: 5.03

In [8]: float('%.2f' % b)
Out[8]: 5.0

In [9]: from decimal import Decimal

In [10]: Decimal('5.026').quantize(Decimal('0.00'))
Out[10]: Decimal('5.03')

In [11]: Decimal('5.000').quantize(Decimal('0.00'))
Out[11]: Decimal('5.00')

ここには3つの方法があります.
round(a,2) ‘%.2f’ % a Decimal(‘5.000’).quantize(Decimal(‘0.00’))
出力が必要な結果に小数点が2桁必要な場合、文字列形式:'%2 f'%aが最もよく、次いでDecimalが用いられる.
次の点に注意してください.
  • はDecimal整数または文字列パラメータに渡すことができますが、浮動小数点データ自体が正確ではないため、浮動小数点データではありません.
  • Decimalはまた、データの総ビット数を限定するために使用することができる.