繁体   English   中英

DecimalFormat精度无法正常工作

[英]DecimalFormat precision not working correctly

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

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

可以说精度是2,当我这样做时

formatter.format(20.0f).toFloat()

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

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

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

println(formatter.format(20.0f))

如果您想要额外的“ f”,请将其放在模式中:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM