有一浮点数为 1.1,我想格式化输出结果为 001.100
print ‘%03.3f’ % 1.1
输出结果却是1.100
print '%03.3' % 1.1
首先,从左到右依次解释03.3
‘0’: 整数位数不够,用0填补;
‘3’:整个打印结果为3位长度(包括小数点‘.’)
‘.’:该小数点之后的数用来指定小数位数
‘3’:小数位数为3位
显然:小数位数已经有了三位,加上小数点,整数‘1’,已经都5位了,整个打印结果长度为‘3’,也就无效了。
测试
print '%06.3f' % 1.1
输出结果为: 01.100
格式化也可以采用内置format函数:
print "{:0>7.3f}".format(1.1)
输出结果为:001.100
‘0’:表示以0填补不足
‘>':表示左对齐
'7':表示格式化后字符串长度
‘.’:该小数点之后的数用来指定小数位数
‘3’:小数位数为3位
答案和楼上一样,只是采用format()函数。