2016-10-06 8 views
0

私はJavaを使い慣れていないし、クレジットカードに料金を追加して料金を追加するクレジットカードのJava割り当てをコーディングしています。 Ifステートメントを使用して関心をコード化しましたが、丸められていない小数点に出力します。Javaでif文を使用するときに、どのように小数値を丸めますか?

public class Credit_Card 
{ 
    public static void main (String []args) 
    { 
     Scanner c = new Scanner (System.in); 
     double num1, num2, interest, newBalance, min = 0; 

     int num3 = 50; 

     System.out.println ("What is the previous balance?"); 
     num1 = c.nextInt(); 

     System.out.println ("What is the total amount of additional  charges?"); 
     num2 = c.nextInt(); 

     interest = num2; 

     if (num2 == 0) 
     interest = (interest + 0); //There is no interest if num2 is 0 

     if (num2 > 0) 
     interest = (interest*(2.0f/100.0f)); //total amount of money owed is multiplied by 2 percent 

     newBalance = num1 + num2 + interest; 

     System.out.println ("CS CARD International Statement"); 
     System.out.println ("==============================="); 
     System.out.println (""); 
     System.out.println ("Previous Balance:  $" + num1); 
     System.out.println ("Additional Charges: $" + num2); 
     System.out.println ("Interest:    $" + interest); 
     System.out.println (""); 
     System.out.println ("New Balance:   $" + newBalance); 
     System.out.println (""); 

     if (newBalance < 50) 
     min = newBalance; 

     if(newBalance >= 50 && newBalance <= 300) 
     min = num3; 

     if(newBalance > 301) 
     min = (newBalance*(20.0f/100.0f)); 

     System.out.println ("Minimum Payment:  $" + min); 
    } 
} 

このような出力を見て:

What is the previous balance? 
1000 
What is the total amount of additional charges? 
25 
CS CARD International Statement 
=============================== 

Previous Balance:  $1000.0 
Additional Charges: $25.0 
Interest:    $0.4999999888241291 

New Balance:   $1025.4999999888241 

Minimum Payment:  $205.100003053993 

私は関心が他のすべてアップ永遠の小数、それネジですのでと思います。関心が「0.49999999999」ではなく、「0.50」のようにしたいと思う。助けを借りてありがとうございます。

+1

見て[こちら](http://stackoverflow.com/questions/153724/how-to-round-a-number-to-n-decimal-places-in-java) – blackpen

+0

'if'ステートメントはドンしません丸めとは何の関係もありません。あなたは浮動小数点でお金を計算してはいけません。 – EJP

答えて

3

varがあなたのニューバランスあるString.format ("%.2f", var);など

これは、2進の場所にそれを丸めます。

フォーマッタでできることの一覧はhttps://www.dotnetperls.com/format-javaをご覧ください。

+0

"String.format"をどこに挿入するのか少し混乱します。あなたはそれを次のように置き換えますか?interest =(interest *(2.0f/100.0f)); –

+1

あなたのprintlnの中に。 –

+0

これは: "%.2f"、それは私が入れたものか、あるいは "%"をパーセンテージで置き換えていますか?興味が丸められていないので、 "newBalance"の代わりに "var"に置きますか?私の誤解をおかけして、ご協力いただきありがとうございます –

関連する問題