我在将长(美分)转换为货币格式时遇到麻烦。

我的代码:

long doublePayment = 1099;  //Should equal $10.99
DecimalFormat dFormat = new DecimalFormat();
String formattedString = dFormat.format(doublePayment);
System.out.println(formattedString);

输出:1,099

我也尝试过:
long doublePayment = 1099;
NumberFormat n = NumberFormat.getCurrencyInstance(Locale.US);
String s = n.format(doublePayment);
System.out.println(s);

由于这是美分,因此输出应为10.99或$ 10.99。

不能弄清楚我在做什么错。谢谢!!!

最佳答案

可以将美分转换为美元

long doublePayment = 1099;
NumberFormat n = NumberFormat.getCurrencyInstance(Locale.US);
String s = n.format(doublePayment / 100.0);
System.out.println(s);

准确到70万亿美元。

09-16 17:17