Kotlin中的十进制格式

时间:2019-01-28 13:05:15

标签: kotlin

是否可以使用一种方法或其他方法而不是“%.6f” .format(value)来实现同一目的? 这是我的代码:

println("%.6f".format(value))

我要使其更具动态性和可读性

3 个答案:

答案 0 :(得分:1)

您可以随时使用

String.format("%.6f", value)

但是您可以将格式提取为变量

val FORMAT_FLOAT = "%.6f"
println(String.format(FORMAT_FLOAT, value))

这取决于您的喜好。祝你好运!

答案 1 :(得分:0)

您可以使用DecimalFormat类舍入给定的数字。 More info

val num = 1.345672
    val df = DecimalFormat("#.######")
    df.roundingMode = RoundingMode.CEILING

    println(df.format(num))

答案 2 :(得分:0)

您可以将其设置为项目的扩展功能,这是Kotlin的一项非常强大的功能,功能如下:

fun Double.roundDecimal(digit: Int) = "%.${digit}f".format(this)

只需将其放入Kotlin文件中,即可,但在课堂之外,则您可以在项目中的任何位置访问它:

fun main() {
    val number = 0.49555

    println(number.roundDecimal(2))
    println(number.roundDecimal(3))
}

输出:

0.50
0.496