2017-01-09 3 views
0

Я хотел бы отформатировать поплавок с использованием заданной точности с использованием DecimalFormat. То, что я этоТочность Десятичной формы не работает правильно

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

Позволяет сказать точность 2 и когда я

formatter.format(20.0f).toFloat() 

я получаю выход в 20.0f и не 20.00f

ответ

2

Вы преобразования String обратно Float, тем самым потеряв формат String.

Вместо этого просто распечатайте o utput из format:

println(formatter.format(20.0f)) 

Если вы хотите дополнительный 'F', поместите его в шаблон:

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

Благодаря она работала ... – Sagar