我有几美分的货币,是整数(例如:1234)。我需要的输出是:$12.34。我们不允许在此赋值中使用双精度或浮点数,只能使用整数。

这是我所拥有的:

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应该放在前面。

我得到Your change of $1234.00 is as follows:的输出

最佳答案

格式不会人为地引入输入中不存在的小数位。

您可以先尝试将其转换为美元和美分,然后再将两者与'。

int dollars = totalChange / 100;
int cents = totalChange % 100;


提示(基于@DanielFischer的评论)

分可以是1位或2位数字,但您可能希望始终将其输出为2位数字。

07-26 06:17