![](/img/trans.png)
[英]How to round 0.745 to 0.75 using BigDecimal.ROUND_HALF_UP?
[英]Using Remainders to Round Up
我在網上Java課程上非常掙扎,對C ++的經驗很少。
這是問題所在:
對於2磅的包裹,Fast Freight Shipping Co收費為每500英里1.10美元。 運輸費用不是按比例分配的,即運輸550英里的2磅包裹的價格為2.20美元。
我的基本代碼是:
if (weight <= 2)
price = 1.1 * (distance / 500);
但是,我不知道如何使用剩余的50磅來加倍運費。 任何幫助,將不勝感激。
您可以使用稱為上限的數學函數來執行此操作。 它將取一個值並將其四舍五入(除非它是一個整數)。
您需要先將距離除以500,取上限,然后乘以運費:
// I'm assuming distance is an int
double price = 1.10 * Math.ceil(distance/500.0);
請注意,如果distance
是一個整數,則500.0
不能寫成500
,因為那樣的話,它將向下隱式舍入(因為它是一個整數除以整數)。
使用Java處理貨幣時,請使用BigDecimal。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.