python 保留小数位数不够补0,python 整数补零
对于python初学者来说,通常情况下,只是输出结果符合预期,所以通常情况下,print就可以满足要求了。
但是如果打印是针对数据流的情况,我一开始也没有找到合适的方法:
例如,如果遵循其他方法,我想保留1.2000的三个有效数字:
A=1.2345print(round(a,3))输出结果为:
1.234末尾有0,但是如果1.2000要保留三个有效数字呢:
A=1.2000print(round(a,3))结果:
1.2所以圆有其局限性。
其他方式呢:
A=1.2000print(%.2f%a)结果:
1.20赋值但是如果需要赋值呢?你可以这样写:
A=1.2000b=(%.3f%a)打印(b)结果:
1.200需要注意的问题符合要求,但是如果需要这样做下一步操作,就会出现问题,比如:
a=1.2000 b=( % . 3f % a )print( a:{ 0 },type: {1} 1 。format (a,type (a))) print (a: {0},type: {1} 1 。格式(b
1.200a: 1.2,类型:浮点型1a: 1.200,类型:str型1。如果这样写,数据类型会从float变成str。如果不注意,以后打电话就会报错。如果以后需要使用float类型,可以再次转换它:
a=1.2000 b=( % . 3f % a )print( a:{ 0 },type: {1} 1 。format (a,type (a))) print (a: {0},type: {1} 1 。格式(b
A: 1.2,类型:class float 1a: 1.200,类型:class str 1a: 1.2,类型:class float 1。目前还没有办法保留末尾的0和足够多的小数点。如果有,请大家指教,非常感谢。
小数的表达:
f { 59.058:08.2 f } # 0059.06 08.2 f,其中8是所有8位的数据(包括逗号),0小于8位。f{59.058:8.2f} # 59.06 ,如果没有0,少于8位用空格填充。f { 123459.06:08.2 f } # 123459.06 如果所有数据都大于8,则显示小数点前的数据,不受8的限制。整数:
{0}-{1}-{2}.format(1,2,3)# 1-2-3“{ 2 }-{ 1 }-{ 0 }”。format(1,2,3)# 3-2-1“{ 0 }”。format([1,2,3]) # [1,2,3]{0[0]}-{0[1]}-{0[2]} 。格式([1,2,3])# 1-2-3“{ 0 }”。格式(1)#“1”“{ 0:f }”。格式(1)#“1.000000”{ 0:d }”。格式(1)#“1”“{ 0:3d }”。格式(1)#“1”“{ 0:03d }”。格式(1)#“001”{ 0:3 }。格式(1) # 1
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。