-2

我有一些代码从字典中获取值并试图计算出一个项目的单价。但是,我无法弄清楚如何使值不四舍五入。

如果我这样做:

total_price = int(item['Item Price'][1:]) #First character is a dollar sign
qty = int(item['Quantity'])
unit_price = total_price/qty

我收到此错误:

ValueError: invalid literal for int() with base 10: '88.75'

所以,我尝试float了价值:

total_price = int(float(item['Item Price'][1:]))
qty = int(item['Quantity'])
unit_price = total_price/qty

这不会返回错误,但它会四舍五入,我只得到整数。

我怎样才能得到实际的每件价格而不是四舍五入的值?谢谢

4

2 回答 2

0

将您的qtyand更改total_price为浮点数:

total_price = float(item['Item Price'][1:])
qty = float(item['Quantity'])

这将导致在两个浮点值之间进行除法。

使用int明确表示你想要整数,这会给你整数。

于 2013-06-04T21:38:43.140 回答
0

该错误发生在划分期间

>>> print 3/2
1
>>> print 3.0/2
1.5
>>>  
于 2013-06-04T21:40:48.287 回答