使用剩余部分进行舍入

时间:2015-07-04 22:30:47

标签: java modulus

我非常挣扎在线Java课程,在C ++方面经验很少......

问题在于:

快速货运公司对于2磅的包装,每500英里收费1.10美元。运费不按比例分配,即运送550英里的2磅包装将花费2.20美元。

我的基本代码是:

if (weight <= 2)
   price = 1.1 * (distance / 500);

但是,我无法弄清楚如何使用50磅的剩余部分来加倍运费。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以使用名为ceiling的数学函数来执行此操作。它将取一个值并将其四舍五入(除非它是一个整数)。

您需要先将距离除以500,取上限,然后乘以运费:

// I'm assuming distance is an int
double price = 1.10 * Math.ceil(distance/500.0);

请注意,如果distance是int,则500.0不能写为500,因为那时会向下隐式舍入(因为它是一个整数除以一个整数)。

答案 1 :(得分:0)

在java中处理货币时,请使用BigDecimal。