5 Oct 2012

Python Tips: 如何格式化数字为金额类型

收藏到CSDN网摘

ZOJ有一题,题目很简单,给2个数字,需要求和后输出结果,但是格式必须是类似金额的那种,就是三位一个逗号.可以通过字符串处理来从最低位添加,但是有没有简单的办法呢?
最简单的办法就是
print '{:n,.mf}.format(num)
其中
n是需要输出的width,如果不需要宽度对齐,直接省略n即可.
m是需要输出的小数位数,如果不需要小数点,省略小数点及后面的部分即可
f是指定浮点数格式输出,也可以使用d来输出整数,如果需要添加0,也可以(看最后一个例子)

测试
>>> a = -100000
>>> b = 2
>>> print '{:20,.2f}'.format(a+b)
          -99,998.00
>>> print '{:20,}'.format(a+b)
             -99,998
>>> print '{:,}'.format(a+b)
-99,998
>>> print '{:20d}'.format(a+b)
              -99998
>>> print '{:20,d}'.format(a+b)
             -99,998
>>> print '{:,d}'.format(a+b)
-99,998
>>> print '{:,.5f}'.format(a+b)
-99,998.00000
>>> print '{:03,d}'.format(12)
012

No comments :

Post a Comment