我非常挣扎在线Java课程,在C ++方面经验很少......
问题在于:
快速货运公司对于2磅的包装,每500英里收费1.10美元。运费不按比例分配,即运送550英里的2磅包装将花费2.20美元。
我的基本代码是:
if (weight <= 2)
price = 1.1 * (distance / 500);
但是,我无法弄清楚如何使用50磅的剩余部分来加倍运费。任何帮助将不胜感激。
答案 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。