Potrzebuję sformatować podwójne "amt" jako dolną kwotę println ("$" + dolary + "." + Centy) takie, że po przecinku są dwie cyfry.Java - podwójna wartość formatu jako kwota w dolarach
Jaki jest najlepszy sposób na zrobienie tego?
if (payOrCharge <= 1)
{
System.out.println("Please enter the payment amount:");
double amt = keyboard.nextDouble();
cOne.makePayment(amt);
System.out.println("-------------------------------");
System.out.println("The original balance is " + cardBalance + ".");
System.out.println("You made a payment in the amount of " + amt + ".");
System.out.println("The new balance is " + (cardBalance - amt) + ".");
}
else if (payOrCharge >= 2)
{
System.out.println("Please enter the charged amount:");
double amt = keyboard.nextDouble();
cOne.addCharge(amt);
System.out.println("-------------------------------");
System.out.println("The original balance is $" + cardBalance + ".");
System.out.println("You added a charge in the amount of " + amt + ".");
System.out.println("The new balance is " + (cardBalance + amt) + ".");
}
Spójrz ** string.Format() **, w drodze podwójnej nie jest dobry typ na utrzymanie ilości waluty, należy użyć BigDecimal zamiast. –
Duplikat? - http://stackoverflow.com/questions/153724/how-to-round-a-number-to-n-decimal-places-in-java – mawaldne