2016-09-15 17 views
0

私はいくつかの基数を分割し、2つの数値を分離して異なる出力を得ようとしています。 (ちょうど私が編集したことに留意してください、私の答えは解決策です)。これはここに残されているので、同様の問題を抱えている人々が解決策を見つけることができます。皆さん、ありがとうございました!数値の基数を分割して剰余を分ける

だから、これはアイデアです:

数< = 0 & &は10を底でない場合は数ベース10

の> = 10 & &はその後私に10個の単位

に割引価格を与える場合

次に、その中に10単位を持つ数量と残りの数量を割引なしで追加します(100%私はxの25台を注文した場合の数値の単純化のため)のため

だから実用的な例 を作るために($ 1ずつ)と15個の単位で(Y $ 1ずつ)で価格は次のようになります。

X 20単位= $ 0 ×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ユニットを別々に定義するとは思わない

ありがとうございました!

+0

「10進数> = 10 && 10進の否定」は「もし数字<10 ||ベース10 'ではない。 –

+0

タイルを変更する必要があると思いますが、それは本当に否定ではありませんが、私の答えは答えです。私はそれを認めて2日ほど待っています。 –

+0

私は本当に問題を理解しようとしません。 mNIはintと同様にintと同様に2倍でなければならず、0になる可能性があります。また、財務ソフトウェアBigDecimalはdouble以上の方が望ましいです。倍精度は固定精度で近似します。 –

答えて

0

EUREKA!

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); 

Iが行う必要があるのは左側整数または右側によって二重(ユーザから左側の入力)

を分割するとき私は残りを与える単位10%を取ることですその変数を元の変数に減算します。

もう一度、この小さなステップは、私を一晩かけて見て、実際には単純です。これはクラスのためのもので、あなたがそのクラスにいて、あなたが読んでいる場合(たとえあなたが割り当てられているものを見つけるために少し掘り下げなければならないかもしれませんが)、これはプログラミングにとって楽しいことです!私は皮肉っていません、私は本当にこの種の問題を愛しています!

符号:

その外国人の男;

EUREKAもう一度!

お楽しみください!

0

私はあなたを正しく理解してくれることを願っています。私は、非割引商品の価格と割引商品の価格の2つの要素からなる総価格を計算したいと思っています。

// 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); 
+0

本当に申し訳ありませんありませんありません、それはです私の悪い私はここで混乱していますちょっと例は次のとおりです。 アイテムのx アイテムyを 項目xがある場合> = 10 その後、10個の単位を取るだけで10あるものに割引を適用します単位 私はX の25台を購入した場合、残りの単位は、だから私は 20個の単位ではなく、残りの5台の割引がありますない ん、私は完全な価格を支払うことになります アイテムyを と同じことを行います申し訳ありませんdozy –

+0

私はそれを見つけました、あなたが好奇心を持っているなら、それをチェックしてください! –

関連する問題