python里如何保存float类型的小数的位数

Posted zhouxinfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python里如何保存float类型的小数的位数相关的知识,希望对你有一定的参考价值。

python保留两位小数:

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)

 

这里有三种方法,

round(a,2)
‘%.2f‘ % a
Decimal(‘5.000‘).quantize(Decimal(‘0.00‘))

当需要输出的结果要求有两位小数的时候,字符串形式的:‘%.2f‘ % a 方式最好,其次用Decimal。

需要注意的:

    1. 可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确。

    2. Decimal还可以用来限定数据的总位数。



以上是关于python里如何保存float类型的小数的位数的主要内容,如果未能解决你的问题,请参考以下文章

c语言如何控制小数位数

在C#中怎么控制float的值保留小数的位数

python怎么控制小数点位数?比如float类型a=1.23456789,我想把a转化为a=1.2345的形式,这个怎么转化呀?

c语言如何控制小数位数?

Java中的float精确多少位?

sql server控制小数显示位数的解决办法。