簡體   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