0

totalこの場合は 500 です。乗算をスキップして、total*amountを表示するだけのようです。私が間違っていることはありますか?編集: 割引: 例では、.92. 金額が1000の場合、455000を取得します。

 if (wShipping==true){

  if (GroundShipping.isSelected()){
       if (amount<=99) {
          shipping=1.05;
          output.setText(output.getText() + amount + "\t" + total*1.05*amount*discount + "\n");
       }
       else{

     output.setText(output.getText() + amount + "\t" + total*amount*discount + "\n");
       }
  }
  if (AirShipping.isSelected()){
      shipping=1.1;
      output.setText(output.getText() + amount + "\t" + total*amount*1.1*discount + "\n");
  } 
  if (FedexShipping.isSelected()){
       shipping=1.25;
      output.setText(output.getText() + amount + "\t" + (total*amount*discount)*(1.25) + "\n");
  } 
}
4

2 に答える 2

0

おそらく、通貨計算の最初のルールは次のとおりです。

通貨を表現するために double または float を使用しない理由

于 2013-10-30T17:21:33.457 に答える
0

次のことを考慮する必要があります--

1) set ステートメントで値を直接使用している場合、なぜ変動送料が必要なのですか?

2)else ifすべてのオプションが排他的であるためステートメントを使用します

3) 変数の初期値と価格の計算式を確認することをお勧めします。与えられた初期値を取ると、可能な限り低い価格は -

Price = 1000*500*0.92 = 460000  (total x amount x discount)

したがって、初期値に何か問題があるはずです

于 2013-10-30T17:10:46.297 に答える