有没有办法从整分钱价值构建MonetaryAmount?

时间:2015-08-07 04:36:33

标签: java java-money jsr354

鉴于价格点表示为整数美分的整数,即199 = $1.99,是否有用于构建MonetaryAmount的API方法?

一种简单的方法是将金额除以100,但想知道是否有一种API方法。

MonetaryAmount ma = Money.of(199, "NZD").divide(100);

2 个答案:

答案 0 :(得分:5)

Money.ofMinor()方法正是您所寻找的。

  

以小单位的数量获得Money的实例   例如,ofMinor(USD, 1234, 2)会创建实例USD 12.34

答案 1 :(得分:-1)

我不确定这对你有用。但它确实有用。

private void convert() {
    DecimalFormat dOffset = new DecimalFormat();
    DecimalFormat dFormat = new DecimalFormat("#,##0.00");        
    dOffset.setMultiplier(100);


    String value2, value1;

    String str;
    try {
        value1 = "0";
        value2 = dFormat.format(dOffset.parse(value1));
        System.out.println(value2);

        value1 = "7";
        value2 = dFormat.format(dOffset.parse(value1));
        System.out.println(value2);

        value1 = "04";
        value2 = dFormat.format(dOffset.parse(value1));
        System.out.println(value2);

        value1 = "123";
        value2 = dFormat.format(dOffset.parse(value1));
        System.out.println(value2);

        value1 = "123456";
        value2 = dFormat.format(dOffset.parse(value1));
        System.out.println(value2);


    } catch (ParseException ex) {
        ex.printStackTrace();
    }        
}

/* Output
    0.00
    0.07
    0.04
    1.23
    1,234.56   
*/