在处理金钱时落后零

时间:2017-01-25 02:14:53

标签: java

我需要创建一个方法,以美元符号返回带有两位小数的总金额。任何帮助都会很精彩。这就是我到目前为止......

private final double QVALUE = 0.25;
private final double DVALUE = 0.10;
private final double NVALUE = 0.05;
private final double PVALUE = 0.01;

public double dollarValue() {
    double amount = (quarters * QVALUE) + (dimes * DVALUE) + 
        (nickels * NVALUE) + (pennies * PVALUE);
    return amount;
}

我提供了每个硬币的值以及返回双倍所需的方法。谢谢!

实施例。当我得到1.50美元的总金额时,它显示为1.5美元,我需要它显示1.5美元,我不想使用DecimalFormat,因为它需要返回一个字符串

2 个答案:

答案 0 :(得分:4)

我不明白你的意思是“它需要返回一个字符串”。你不能只使用String.format("%.2f", d);吗?

答案 1 :(得分:3)

可能这就是你想要的:

NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(Locale.US);
String s = currencyFormat.format(1.5);

结果为"$1.50"