鉴于价格点表示为整数美分的整数,即199 = $1.99
,是否有用于构建MonetaryAmount
的API方法?
一种简单的方法是将金额除以100,但想知道是否有一种API方法。
MonetaryAmount ma = Money.of(199, "NZD").divide(100);
答案 0 :(得分:5)
Money.ofMinor()方法正是您所寻找的。 p>
以小单位的数量获得
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
*/