DecimalFormat精度无法正常工作

时间:2017-01-09 10:19:28

标签: java kotlin decimalformat

我想使用DecimalFormat将浮点数格式化为给定的精度。我拥有的是这个

val formatter = DecimalFormat(if (precision > 0) "#0.${"0".repeat(precision)}" else "#")

让我们说精确度为2,当我做

formatter.format(20.0f).toFloat()

我的输出为20.0f而不是20.00f

1 个答案:

答案 0 :(得分:2)

您正在将String转换回Float,从而失去了String所处的格式。

相反,只需打印format的输出:

println(formatter.format(20.0f))

如果你想要额外的'f',请把它放在你的模式中:

val pattern = if (precision > 0) {
    "#0.${"0".repeat(precision)}f"
} else {
    "#f"
}
相关问题