Java DecimalFormat - 使用整数

标签 java

我有一个以便士为单位的整数货币(例如: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/

相关文章:

java - 当我尝试在 SQL Server 上执行此查询时,为什么会在日期字段上出现此错误?

java - NoNodeAvailableException[配置的节点均不可用 : [{#transport#-1}{XY6cYmf7Sn-DRZgzeq3PBA}{localhost}{127. 0.0.1:9300}]]

java - For 循环 Java 无法访问语句

java - 获取通用接口(interface) : The interface Observer cannot be implemented more than once with different arguments: 的错误

java - 使用配置设置连接超时

java - 如何将 JComponent 添加到 Box 的某个索引

java - Android onPause()没有被调用

java - ByteBuffers 可以用作 'long living' 静态对象吗?

java - 无法声明数组大小

java - 始终为多模块站点默认部署暂存站点?