2013-06-04 54 views
-1

我有一些代碼從字典中獲取值並試圖找出項目的每單價。但是,我無法弄清楚如何保持四捨五入的價值。如何防止我的數字四捨五入?

如果我這樣做:

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 

沒有返回的錯誤,但它然後四捨五入,我只得到整數。

我怎樣才能得到實際的每件價格,而不是一個四捨五入的價值?由於

+0

小數類可能是一些幫助 – Kartik

+3

如果你不想整數,那麼爲什麼你使用'int'發生? –

+0

永遠不會使用浮動貨幣 – cmd

回答

0

更改qtytotal_price是一個浮動:

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

這將導致分裂爲兩個浮點值之間。

使用int明確說你想要整數,它給你整數。

+0

啊!你是男人,謝謝你! –

0

錯誤被分裂過程中

>>> print 3/2 
1 
>>> print 3.0/2 
1.5 
>>>