如何创建 Kotlin 十进制格式化程序

Kel*_*ton 0 numberformatter decimalformat kotlin

我想创建一个十进制格式化程序,最多可显示 2 位十进制数字,并带有给定的分隔符。

例如使用分隔符","

input -> output
3.0   -> "3"
3.1   -> "3,1"
3.14  -> "3,14"
3.141 -> "3,14"
3.149 -> "3,15"
Run Code Online (Sandbox Code Playgroud)

我想在 Kotlin 中执行此操作,我想我必须使用DecimalFormat但不明白该怎么做。请你帮助我好吗?

tom*_*fic 5

下面的代码针对您的所有示例进行了测试,并且似乎运行良好:

val locale = Locale("en", "UK")
val symbols = DecimalFormatSymbols(locale)
symbols.decimalSeparator = ','
val pattern = "#.##"
val decimalFormat = DecimalFormat(pattern, symbols)
val format = decimalFormat.format(3.14)
println(format)  //3,14
Run Code Online (Sandbox Code Playgroud)

要在 DecimalFormat 中设置特定分隔符,可以使用setDecimalSeparator

注意 # 的模式:

一个数字,省略前导零

显然,您可以根据您的需求更改区域设置。

更多信息请参见此处