拆分数字的单位基数和分隔余数

Splitting units base of a number and separating remainders

我正在尝试拆分多个基数,然后将两个数字分开以获得不同的输出。 (请记住我刚刚编辑过,我的答案就是解决方案)。留在这里,方便有类似问题的人找到解决办法。谢谢大家!

这就是想法:

如果数字 >= 10 && 以 10 为基数

然后给我 10 件的折扣价

如果数字 <= 0 && 不是基数 10

然后为其中包含 10 个单位的数字加上没有折扣的剩余部分的折扣(为了数字简单起见,假设为 100%)

所以做一个实际的例子 如果我订购 25 件 x(每件 1 美元)和 15 件(每件 1 美元)y,价格将为:

x 20 个单位 = 0 美元 x 5 件 = 总计 5 美元

y 10 单位 = 0 美元 y 5 个单位 = 总计 5 美元

这有点棘手,这是我目前得到的结果:

double discountedmNI = (mNI - ((mNI/100)*10)) * mNIC;
double discountedmNIP = mNI - ((mNI/100)*10);

if(mNIC >= 10 && mNIC % 10 == 0){

    System.out.println("mNI " + discountedmNIP + " " + mNIC);
    System.out.println(discountedmNI);

}

else if (!mNIC % 10 == 0){

    System.out.println("mNI " + mNI + mNIC);
    System.out.println(mNI * mNIC);

}

我认为我没有正确定义 10 个单元

谢谢大家!

希望我没听错。我了解到您想计算包含两个元素的总价:非折扣商品的价格和打折商品的价格。

// The following three values are just example assumptions.
float discountInPercent = 100.0f;
float itemsOrdered = 5004.0f;
float itemPriceNormal = 5.0f;

// Here the price for one discounted item gets calculated.
// Please remember that the discount is given in percentage.
float itemPriceDiscounted = itemPriceNormal * ((100.0f - discountInPercent) / 100.0f);

// Calculate the count of items that get discounted and those that 
// will get priced normally.
float itemsDiscounted = Math.floor(itemsOrdered / 10.0f);
float itemsNotDiscounted = itemsOrdered % 10;

// Finally calculate the two elements of the total price and sum it up. 
float priceDiscounted = (itemsDiscounted * itemPriceDiscounted);
float priceNormal = (itemsNotDiscounted * itemPriceNormal);
float totalPrice = priceDiscounted + priceNormal;

System.out.println("Price discounted: %.2f" + priceDiscounted);
System.out.println("Price non-discounted: %.2f" + priceNormal);
System.out.println("Price total: %.2f" + totalPrice);

尤里卡!

    double discountedmNIP = mNI - ((mNI/100)*10);
    int mNIC2 = (mNIC % 10);
    double mNIC2disc = (mNI * mNIC2);
    double discountedmNI = (mNI - ((mNI/100)*10)) * (mNIC - mNIC2);


    if(mNIC >= 10){

        System.out.println(discountedmNIP + " " + (mNIC - mNIC2) + " " + discountedmNI );
        System.out.println(mNI + " " + mNIC2 + " " + mNIC2disc);

    }



    else{

        System.out.print(mNI + " " + mNIC);
        System.out.print(mNI * mNIC);


    }

    double sum = (mNI + discountedmNI + discountedRh + rH);

    System.out.println('\t');
    System.out.println("Total order cost " + sum);

我需要做的就是取单位 % 10,它将左侧整数或双除以右侧(来自用户的左侧输入)

当我把那个变量减去原来的变量时,会给我余数!

同样,这一小步花了我一晚上的时间才弄明白,确实很简单。这是针对 class 的,如果你在那个 class 中并且你正在阅读(即使你可能需要挖掘一点才能找到这个作业是什么),我只想告诉你你这就是编程的乐趣所在!我不是在讽刺我真的很喜欢这类问题!

签名:

那个外国小伙;

又是尤里卡!

尽情享受吧!