【发布时间】:2016-09-09 00:48:33
【问题描述】:
我想将一个数字格式化为最多 N 个小数位。有another similar and popular question here,但这不是我要找的。p>
我正在寻找这样的东西,假设我想要最大。 2 个地方,所以这将是:
1.00 -> "1" (not "1.00")
1.20 -> "1.2" (not "1.20")
1.23 -> "1.23"
1.234 -> "1.23"
1.235 -> "1.24"
与另一个问题的不同之处在于,如果我不需要它们,我不希望逗号后面的尾随零。
我想知道这是否适用于 String.format(),不适用于 Math.round() 或 DecimalFormat。上面显示的另一个问题提供了使用 DecimalFormat 的解决方案。
答案不需要是变量,给定 N 作为参数。我只是选择了N作为例子。
【问题讨论】:
-
请看你提到的问题的第二个答案。
-
看看using BigDecimal(您链接到的问题的答案之一)
-
发布解决方案只使用 String.format();
-
@Arkadiy - 第二个答案是 DecimalFormat,而不是 String.format(),对吧?
-
你可以使用 DecimalFormat 和%s
标签: java floating-point numbers format