我是Android的初學者。我正在開發一個銷售相關的應用程序其中我需要做大量的計算。 我很困惑哪些變量用於處理價格,折扣等。是否使用Integer/Float/Double計算價格和折扣
當前我正在存儲價格爲INTEGER。 例如180盧比---> 18000派薩 &同時顯示我簡單的把它由100
但我想表明的價格/折扣最多2位小數喜歡150.50盧比或20.50Rs。 我應該使用什麼? 一個浮動或一個雙或其他任何東西? 請幫助我...謝謝...
我是Android的初學者。我正在開發一個銷售相關的應用程序其中我需要做大量的計算。 我很困惑哪些變量用於處理價格,折扣等。是否使用Integer/Float/Double計算價格和折扣
當前我正在存儲價格爲INTEGER。 例如180盧比---> 18000派薩 &同時顯示我簡單的把它由100
但我想表明的價格/折扣最多2位小數喜歡150.50盧比或20.50Rs。 我應該使用什麼? 一個浮動或一個雙或其他任何東西? 請幫助我...謝謝...
使用整數你正在做的計算你的價格:你會避免四捨五入的問題。當你想轉換成實際價格時,只需除以100。每次您想要顯示價格時,請使用java.text.NumberFormat
:您將控制要打印的精確小數位數。
@etetnay ..是的我沒有問題的價格與以上格式。但考慮這種情況:價格= 7500 paise&discont = 25%,即1875 Paise。 所以折扣金額將是5625 Paise ..將它分成56 Rs。 這就是爲什麼我格式化困惑。我只是想知道正確的方法。感謝您的幫助.. :-) – AnujDeo
在某些情況下......當我使用Float存儲折扣金額時,它給出答案爲60.000001 Rs ...我希望它是60.0 – AnujDeo
在java中,2個整數之間的區分給出一個整數,所以在這種情況下有56個是正常的。只需將2個整數作爲float(或者double,但在這種情況下不需要額外的精度)並將結果放在float中(或者如果您願意,也可以是double)。它會給你正確的結果(56.25)。 – eternay
你甚至試圖谷歌的三個區別?請閱讀[常見問題]。 – TronicZomB
請閱讀浮點數:http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html。舍入會遇到問題。 – RvdK
更粗體的字體可以幫助您的問題更加突出... – vikingsteve