我有一个以便士为单位的整数货币(例如:1234
)。我需要输出为:$12.34
。我们不允许在此赋值中使用 double 或 float ,只能使用整数。
这是我所拥有的:
totalChange = 1234;
DecimalFormat ourFormat = new DecimalFormat("$#,###.00");
String totalString = ourFormat.format(totalChange);
System.out.println("Your change of " + totalString + " is as follows:");
我假设 DecimalFormat 将从右向左排列,将 34
分配在小数点之后,而 12
应放在小数点之前。
我得到的输出为您对 1234.00 美元的更改如下:
最佳答案
格式不会人为地引入输入中不存在的小数位。
您可以尝试先转换为美元和美分,然后将两者用“.”组合起来
int dollars = totalChange / 100;
int cents = totalChange % 100;
提示(基于@DanielFischer 的评论)
分可以是 1 或 2 位数字,但您可能希望始终将它们输出为 2 位数字。
关于Java DecimalFormat - 使用整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11769291/