python2.7 浮点数格式化输出问题

有一浮点数为 1.1,我想格式化输出结果为 001.100
print ‘%03.3f’ % 1.1

输出结果却是1.100

2个回答

 print '%03.3' % 1.1 

首先,从左到右依次解释03.3
‘0’: 整数位数不够,用0填补;
‘3’:整个打印结果为3位长度(包括小数点‘.’)
‘.’:该小数点之后的数用来指定小数位数
‘3’:小数位数为3位
显然:小数位数已经有了三位,加上小数点,整数‘1’,已经都5位了,整个打印结果长度为‘3’,也就无效了。
测试

 print '%06.3f' % 1.1

输出结果为: 01.100

ramous_13130119
迪卡蛙 正解
接近 3 年之前 回复

格式化也可以采用内置format函数:

 print "{:0>7.3f}".format(1.1)

输出结果为:001.100

‘0’:表示以0填补不足
‘>':表示左对齐
'7':表示格式化后字符串长度
‘.’:该小数点之后的数用来指定小数位数
‘3’:小数位数为3位

答案和楼上一样,只是采用format()函数。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问