# Kotlin 程序：将数字四舍五入到 n 个小数位

> 原文： [https://www.programiz.com/kotlin-programming/examples/round-number-decimal](https://www.programiz.com/kotlin-programming/examples/round-number-decimal)

#### 在此程序中，您将学习在 Kotlin 中将给定数字四舍五入到小数点后 n 位。

## 示例 1：使用格式对数字取整

```kt
fun main(args: Array<String>) {
    val num = 1.34567

    println("%.4f".format(num))
}
```

运行该程序时，输出为：

```kt
1.3457
```

在上面的程序中，我们使用`format()`方法将给定的浮点数`num`打印到小数点后 4 位。 小数点后 4 位格式为`.4f.`

这意味着，仅在**点**之后打印最多 4 个位置（小数位），并且`f`表示打印浮点数。

* * *

## 示例 2：使用`DecimalFormat`取整数字

```kt
import java.math.RoundingMode
import java.text.DecimalFormat

fun main(args: Array<String>) {
    val num = 1.34567
    val df = DecimalFormat("#.###")
    df.roundingMode = RoundingMode.CEILING

    println(df.format(num))
}
```

When you run the program, the output will be:

```kt
1.346
```

在上述程序中，我们使用`DecimalFormat`类将给定数字`num`舍入。

我们使用`#`模式`#.###`声明格式。 这意味着，我们希望`num`最多 3 个小数位。 我们还将舍入模式设置为`Ceiling`，这将导致最后一个给定的位置被舍入到下一个数字。

因此，将 1.34567 舍入到小数点后 3 位将打印 1.346，第 6 位是第 3 位小数点 5 的下一个数字。

以下是等效的 Java 代码：[将数字四舍五入到 n 位的 Java 程序](/java-programming/examples/round-number-decimal "Java program to round a number to n places")。