让我们假设客户想知道产品的价格,因此我执行数据库查询,并获得值95(以int为单位)表示以美分为单位的值。现在我想以欧元告诉客户价格,所以我这样做:
print("Price: " + format(price/100, ".2f") + "EUR")
我打印的是:
Price: 0.00EUR
为什么以及如何解决此问题?
由于
答案 0 :(得分:2)
您需要输出为浮点数。尝试除以100.0
答案 1 :(得分:0)
您必须在字符串格式之前执行price = float(whatever)
转换为浮动。如果分子或分母是浮点数,那么结果也是。如果两者都是整数,则结果将为整数。
答案 2 :(得分:0)
这是因为b
和price
都是100
- 而且如果您对int
执行任何操作,结果将是int
。当您执行int
时,price/100
会0.95
,int
,0
,然后format (0, ".2f")
会0.00
。您需要做的是将price
转换为float
,然后再对format(float(price)/100, ".2f")
进行操作,就像在100.0
中一样,或者您可以将其除以浮点format(price/100.0, ".2f")
。在{{1}}中解决此问题。