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