簡體   English   中英

使用余數舍入

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM