我想使用DecimalFormat将浮点数格式化为给定的精度。我拥有的是这个
val formatter = DecimalFormat(if (precision > 0) "#0.${"0".repeat(precision)}" else "#")
让我们说精确度为2,当我做
时formatter.format(20.0f).toFloat()
我的输出为20.0f
而不是20.00f
答案 0 :(得分:2)
您正在将String
转换回Float
,从而失去了String
所处的格式。
相反,只需打印format
的输出:
println(formatter.format(20.0f))
如果你想要额外的'f',请把它放在你的模式中:
val pattern = if (precision > 0) {
"#0.${"0".repeat(precision)}f"
} else {
"#f"
}