如何使用DecimalFormat仅在“带小数”的数字中隐藏尾随零

时间:2016-07-06 18:26:13

标签: java decimalformat

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

的输出
  

12.5 - > 12.5

     

12 - > 12

然而我需要让它产生

  

12.5 - > 12.5

     

12 - > 12.0

这怎么可能发生?

3 个答案:

答案 0 :(得分: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
  }
}

答案 1 :(得分:0)

你必须使用#.0来显示数字。 #将0视为缺席。

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

答案 2 :(得分:0)

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

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