【问题标题】:How to use DecimalFormat to hide trailing zero in numbers "with decimals" only如何使用 DecimalFormat 仅在“带小数”的数字中隐藏尾随零
【发布时间】:2016-07-06 18:26:12
【问题描述】:

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

的输出

12.5 --> 12.5

12 --> 12

但是我需要让它产生

12.5 --> 12.5

12 --> 12.0

怎么会这样?

【问题讨论】:

  • 显示您现在的字符串格式...

标签: java decimalformat


【解决方案1】:

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
  }
}

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-09
        • 1970-01-01
        相关资源
        最近更新 更多