我意识到这个问题可以理解为类似于别人,所以我开始之前,这里是一些可能的“重复”列表中每个人都开始指向之前出。这些似乎都没有正确回答我的问题。Python字符串格式化{:d} VS%d的浮点数
我的问题特别涉及使用用于显示的整数的string.format()方法。
使用%字符串中的解释执行Python格式化运行下面的代码2.7
>>> print "%d" %(1.2345)
1
而使用在string.format()方法结果如下
>>> print "{:d}".format(1.2345)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: Unknown format code 'd' for object type 'float'
我期待在这两个相同的行为;让解释器在显示之前将我的浮点数实际转换为整数。我意识到我可以使用int函数将浮点数转换为整数格式,但我正在寻找与%d格式化方法相同的功能。有没有任何string.format()方法可以为我做到这一点?
如果你不知道你的变量是否是一个整数,那么不仅要明确地进行转换,这是什么原因?例如'print'{:d}“。format(int(1.2345))' – 2014-10-03 09:39:23
@Tom,正如我所说的,我可以自己完成转换,所有的麻烦都会消失。但是我真正想知道的是,为什么两种乍看之下非常相似的方法并没有完全一样。 – Mike 2014-10-03 09:45:17