Tôi cần phải định dạng chữ "amt" kép thành số đô la ("$" + đô la + "." + Cent) sao cho có hai chữ số sau dấu thập phân.Giá trị kép định dạng Java là số tiền đô la
Cách tốt nhất để làm gì?
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) + ".");
}
Nhìn vào ** String.format() **, bằng cách này đôi không phải là một loại tốt để giữ một lượng tiền tệ, sử dụng BigDecimal để thay thế. –
Sao chép? - http://stackoverflow.com/questions/153724/how-to-round-a-number-to-n-decimal-places-in-java – mawaldne