如何使用 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);
我正在使用 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);