【发布时间】:2016-07-06 18:26:12
【问题描述】:
我正在使用 DecimalFormat 使用模式 #.# 从输出中删除尾随零
这会产生类似
12.5 --> 12.5
12 --> 12
但是我需要让它产生
12.5 --> 12.5
12 --> 12.0
怎么会这样?
【问题讨论】:
-
显示您现在的字符串格式...
标签: java decimalformat
我正在使用 DecimalFormat 使用模式 #.# 从输出中删除尾随零
这会产生类似
12.5 --> 12.5
12 --> 12
但是我需要让它产生
12.5 --> 12.5
12 --> 12.0
怎么会这样?
【问题讨论】:
标签: java decimalformat
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
}
}
【讨论】:
您必须使用#.0 来显示数字。 # 将 0 视为不存在。
https://developer.android.com/reference/java/text/DecimalFormat.html
【讨论】:
您还可以通过以下方式设置最大和最小精度:
decimalFormat.setMaximumFractionDigits(maxPrecision);
decimalFormat.setMinimumFractionDigits(minPrecision);
【讨论】: