python里面保留两位小数,python 如何保留两位小数
今天写程序的时候碰到了一个问题关于如何控制浮点数只显示小数点后两位,正常的想法是用圆形物函数,例如round(a,2),但是在面对下面的问题时候圆形物就不太好用了
a=13.949999999999
圆形(一,2)
13.949999999999999
上网查了资料,有网友提供了一种方法
打印"% .2f“% a 13.95还可以使用十进制小数。小数类型是计算机编程语言中满足高精度计算的一种数据类型,使用进需要导入小数包
定义小数数据类型:
一无法使用赋字面值的方式定义
2定义方式如下:
导入十进制x=十进制decimal(87345)x decimal( 87345 )x=decimal .十进制数( 123.344332566334 )x十进制数( 123.3444363334 )可以传递给小数整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确
如果需要从浮点数据转换为小数类型,可能使用如下方法
x=十进制十进制。from _ float(127.3323)xDecimal( 127.300000000000005 )35925 . 4666565657适用于整型操作同样适用于小数类型
我有3个关于计算机编程语言中十进制算术的问题,这3个问题最好都在内部问:
1)从小数导入十进制getcontext().prec=6十进制( 50.567898491579878 )* 1十进制( 50.5679 )#这怎么是6的精度?如果小数把整数算作精度的#部分,那实际上还是精度吗?和
2)从小数导入十进制getcontext().prec=6 Decimal( 50.567898491579878 )Decimal( 50.56491579878 )#那不是应该在实例化的时候四舍五入到6位数吗?十进制( 50.567898491579878 )* 1十进制( 50.5679 )#相反,它仅在操作时遵循我的精度设置。3) #现在,我想将该值保存到我的数据库中,作为包含两个位置的"总计"。从小数导入十进制#以下是将值转换为2位小数的正确方法吗,#还是有更好的方法?x=十进制( 50.5679 )。量化(十进制( 0.00)) x #只想看看值是多少decimal( 50.57 )foo _ save _ value _ to _ db(x)
本机测试用例:导入十进制x=十进制Decimal(87345)x Decimal( 87345 )print x 87345 from Decimal import get context,Decimal x=Decimal( 0.998531571219 )。quantize(Decimal( 0.00 )x Decimal( 1.00 )print x 1.00 x=Decimal( 0.998531571219)).quantize(Decimal( 0.0000 ))x Decimal( 0.9985 )print x 0.9985y=Decimal。from _ float(0.99853157121900004700165709436987526714801788330078125 )y=小数。from _ float(0.99853157127 quantize(Decimal( 0.0000 ))yDecimal( 0.9985 )print y 0.998531571219 f 10.998531571219 type(f1)type float F2=str(f1)F2 0.998531571219 type(F2)type str
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。