2017-01-09 68 views
0

我想将使用DecimalFormat的浮点格式设置为给定的精度。我有什么是这个DecimalFormat精度无法正常工作

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

比方说,精度为2,当我做

formatter.format(20.0f).toFloat() 

我得到的输出作为20.0f,而不是​​3210

回答

2

你转换StringFloat,从而丢失了String所在的格式。

相反,只需打印o中安输出format

println(formatter.format(20.0f)) 

如果你想额外的 'F',把它放在你的模式:

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

由于它的工作... – Sagar