有没有办法从整个美分值构造 MonetaryAmount?
Is there a way to construct a MonetaryAmount from a whole cents value?
给定一个以整数表示的价格点,即 199 = .99
,是否有 API 构造 MonetaryAmount
的方法?
一个简单的方法是将金额除以 100,但想知道是否有 API 方法可以做到这一点。
MonetaryAmount ma = Money.of(199, "NZD").divide(100);
我不确定这对你是否有用。不过它确实有效。
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
*/
Money.ofMinor() 方法正是您要找的。
Obtains an instance of Money
from an amount in minor units.
For example, ofMinor(USD, 1234, 2)
creates the instance USD 12.34
给定一个以整数表示的价格点,即 199 = .99
,是否有 API 构造 MonetaryAmount
的方法?
一个简单的方法是将金额除以 100,但想知道是否有 API 方法可以做到这一点。
MonetaryAmount ma = Money.of(199, "NZD").divide(100);
我不确定这对你是否有用。不过它确实有效。
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
*/
Money.ofMinor() 方法正是您要找的。
Obtains an instance of
Money
from an amount in minor units.
For example,ofMinor(USD, 1234, 2)
creates the instanceUSD 12.34