java - 如何以人类可读的格式显示 BigDecimal 值?

标签 java

假设我们有一个像这样设置的 BigDecimal 变量,并且我们无法更改它的创建方式:

BigDecimal num = new BigDecimal(6.0053);

因此,我们将在输出后看到以下“漂亮”值:

System.out.println(num);   //0053000000000000824229573481716215610504150390625

我发现解决此问题的唯一方法是使用 BigDecimal.valueOf():

System.out.println(BigDecimal.valueOf(num.doubleValue()));   //6.0053

但是有更简单的解决方案吗?

提前致谢。

最佳答案

使用java.text.DecimalFormat来格式化数字。

NumberFormat format = new DecimalFormat("0.####");
System.out.println(format.format(num));

格式选项可以在 here 找到

关于java - 如何以人类可读的格式显示 BigDecimal 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21481088/

相关文章:

java - 销毁 Jframe 对象

java - 如何隔离字符串的一个组件?

Windows 中的 Java 版本检查退出代码在 Java 7 中发生了变化?

java - mybatis中如何选择文本数组类型的结果?

java - AngularJS + Spring + REST——发送多个文件和数据

java - Java 中是否有一个函数允许您将字符串转换为 Int ,考虑到字符串中包含您想要忽略的字符?

java枚举传递数组作为构造的第二个参数

java - 从 .csv 文件生成插入 SQL 语句

java - Spring Boot - 使用上下文路径时根级别的静态内容

java - 任务 com.google.firebase.a.v 被 java.util.concurrent.ThreadPoolExecutor 拒绝