【发布时间】:2012-12-09 20:20:22
【问题描述】:
我需要将双“amt”格式化为美元金额 println("$" + dollar + "." + cents),以便小数点后有两位数。
这样做的最佳方法是什么?
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) + ".");
}
【问题讨论】:
-
看看String.format(),顺便说一下double不是保存货币数量的好类型,改用BigDecimal。
标签: java formatting double