如何使用 DecimalFormat 仅隐藏数字 "with decimals" 中的尾随零

How to use DecimalFormat to hide trailing zero in numbers "with decimals" only

我正在使用 DecimalFormat 使用模式 #.# 从我的输出中删除尾随零 这会产生类似

的输出

12.5 --> 12.5

12 --> 12

但是我需要让它产生

12.5 --> 12.5

12 --> 12.0

怎么会这样?

您必须使用#.0 来显示数字。 # 将 0 视为不存在。

https://developer.android.com/reference/java/text/DecimalFormat.html

DecimalFormat 的 Javadoc 说 0 符号代表一个数字,而 # 将删除前导或尾随的零。例如:

import java.text.DecimalFormat;

public class Main
{
  public static void main(String[] args)
  {
    DecimalFormat zeroes = new DecimalFormat("0.0");
    DecimalFormat hashes = new DecimalFormat("#.#");

    System.out.println(zeroes.format(12.0)); // 12.0
    System.out.println(zeroes.format(12.5)); // 12.5
    System.out.println(hashes.format(12.0)); // 12
    System.out.println(hashes.format(12.5)); // 12.5
  }
}

您还可以通过以下方式设置最大和最小精度:

decimalFormat.setMaximumFractionDigits(maxPrecision);
decimalFormat.setMinimumFractionDigits(minPrecision);