Java - 将双值格式化为美元金额

标签 java formatting double

我需要将双“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) + ".");
}

最佳答案

使用 NumberFormat.getCurrencyInstance() :

double amt = 123.456;    

NumberFormat formatter = NumberFormat.getCurrencyInstance();
System.out.println(formatter.format(amt));

输出:

$123.46

关于Java - 将双值格式化为美元金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13791409/

相关文章:

java - 对使用 @ElementCollection 和 Enums 的类执行合并/更新时出现 Hibernate ClassCastException

java - 如何在pom.xml中设置Jmeter home?

java - 在 Enfinity 中从 Pipeline 处理 AJAX 请求

c++ - 我可以在处理它时保留编译器输出的格式吗?

Xcode源码自动格式化

java - double 转换为分数

java - Hibernate映射异构继承对象的映射

python - 如何在 Python 中检查字符串是否具有格式参数?

java - 在 double 前面加零

android - EditText,将字符串保存为双Android编程?