2

我想在 java 中减去货币,从我读过的内容中我可以使用 Double 或 BigDecimal。问题是我不能完全按照我的意愿工作。

我想做的是以下。

Double amount1 = 25.50;
Double amount2 = 120.80;

然后我想从有效的 amount2 中减去 amount1,但我不希望答案是 95.3,我希望它是 95.30,然后将此值转换为字符串。

提前致谢。

4

4 回答 4

1

格式化差异。

Double amount1 = 25.50;
Double amount2 = 120.80;

Double diff = amount2 - amount1;
String diffString = diff.ToString("N");
于 2013-08-26T07:42:38.583 回答
0

the value of 95.30 is equal to the value of 95.3. however, you can do for example

string str = (amount2 - amount1);
str += "0";
于 2013-08-26T07:43:39.370 回答
0

我想我已经解决了,我使用了以下方法。

double amount1 = 25.50;
double amount2 = 120.80;
double price = amount2-amount1;
DecimalFormat formatter = new DecimalFormat("0.00");
String wihan = formatter.format(price);
于 2013-08-26T07:52:28.597 回答
0

数字格式 -

 class TstNumberFormat{
   public static void main(String[] args) {
    java.text.NumberFormat f =  null;

    try {
        Locale ll = new Locale("en", "US");
        f = java.text.NumberFormat.getInstance(ll);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        f = java.text.NumberFormat.getInstance();
    }

    Double amount1 = 25.50;
    Double amount2 = 120.80;
    f.setMinimumFractionDigits(2);
    Double ans = amount2 - amount1;
    String ansStr = f.format(ans.doubleValue());
    System.out.println("format :" + ansStr);

}

}

有关更多信息,请参阅区域设置和数字格式的 java 文档http://docs.oracle.com/javase/6/docs/api/index.html?java/text/NumberFormat.html

于 2013-08-26T07:53:30.350 回答