Java:各种精度数据的简单格式标准

标签 java format

我正在尝试为用户/报告上诉设置输出格式,但我发现两个标准有些冲突。

首先,小数值应对齐(格式为“%12.10f”,预测整数值范围 0-99)

其次,小数点不应尾随过多的零。

例如,我的输出看起来像

  0.5252772000
  0.2053628186
 10.5234500000

但是使用通用格式,我最终也会得到:

 0.53260000000
 0.52630000000
12.43540000000

在某些情况下,它看起来有点垃圾。

有没有简单的方法可以解决这个问题?目前我能想到的唯一解决方案是在打印之前预先询问数据(而不是在打印期间对其进行格式化),这虽然在技术上并不昂贵,但只是让我感到多余的数据处理(即我必须遍历所有数据一次才能找到尾随零的极值来解析它,然后设置格式以便它可以再次遍历数据来解析它)

最佳答案

您可以设置DecimalFormat:

DecimalFormat format = new DecimalFormat("0.#");
for (float f : yourFloats){
    System.out.println(format.format(f));
}

这也适用于 double 。

关于Java:各种精度数据的简单格式标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31081439/

相关文章:

java - 链表从某个位置困惑中删除节点

Javascript 函数中的 Java 字符串

java - 多个程序访问同一个 mySQL 数据库

format - jquery 自动完成数据格式

format - gfortran - 实际输出是否允许未指定的十进制长度?

java - 序列化实现与 Gson 接口(interface)的枚举

html - 父级宽度未定义时下拉菜单中断

format - gnuplot:紧凑 Axis 标签格式

C fscanf 复杂格式

Java - 日期保存为前一天