Java 带有if语句的贴现率
我想在我的一个项目中应用折扣制度。 我对编程很陌生,所以对于初学者的问题我很抱歉 好的,这是我目前的折扣公式Java 带有if语句的贴现率,java,Java,我想在我的一个项目中应用折扣制度。 我对编程很陌生,所以对于初学者的问题我很抱歉 好的,这是我目前的折扣公式 double discount = total - (total*number*0.025); 基本上,每个包裹(数量)的总成本会有2.5%的折扣。 我希望这个价格能停在30%,所以折扣不能超过30% 这就是我试过的 if(discountOne >= totalOne/3) { discountOne = totalOne*0.33; } 然而,它没有起作用。
double discount = total - (total*number*0.025);
基本上,每个包裹(数量)的总成本会有2.5%的折扣。
我希望这个价格能停在30%,所以折扣不能超过30%
这就是我试过的
if(discountOne >= totalOne/3) {
discountOne = totalOne*0.33;
}
然而,它没有起作用。
非常感谢您的帮助!此外,如果有更好的公式,我应该使用随时让我知道。
再次感谢您的帮助 计算可能的最大折扣 i、 e.最大折扣->总折扣的30%
然后通过检查折扣来比较您的折扣您对
折扣的计算是错误的。假设你有4件商品,那就是2.5*4%的折扣,或者10%的折扣。假设总成本是200美元。那么折扣是200美元的10%,即200美元*0.1美元,即20美元。它不是200-20美元,即180美元
因此,您需要使用此公式进行计算
double discount = total * number * 0.025;
通过提前计算百分比,你可以让自己更容易做到这一点
double percentDiscount = number * 0.025;
double discount = total * percentDiscount;
现在避免舍入错误和其他逻辑问题变得更简单了,只需单独检查percentDiscount
double percentDiscount = number * 0.025;
if (percentDiscount > 0.3) percentDiscount = 0.3;
double discount = total * percentDiscount;
正如塞尔库克指出的那样,你可以通过检查if(number>12)
来预先认识你的算术,因为30%/2.5%是12
double percentDiscount = ((number > 12) ? 12 : number) * 0.025;
double discount = total * percentDiscount;
您还可以使用Math.min
代替我使用的这些条件和三元表达式
平庸地说,打折后的价格只是总折扣
我有点困惑。您是否试图说您对每种产品都增加了2.5%的折扣,并且一旦折扣总数(即添加的产品)达到30%(即12种产品),您就不想再申请折扣了?您想要30%还是33.333333%。。。?是的,我的下一行是price=total-discount:)@user134613,这将使价格达到20美元。请张贴您的全部代码。非常感谢我会尝试这个!是的,当然。试着打破你的计算,得出可能的最大折扣值,即金额的30%,然后将其与你给予的折扣进行比较。