[英]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.