原文: https://www.programiz.com/kotlin-programming/examples/round-number-decimal

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

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

  1. fun main(args: Array<String>) {
  2. val num = 1.34567
  3. println("%.4f".format(num))
  4. }

运行该程序时,输出为:

  1. 1.3457

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

这意味着,仅在之后打印最多 4 个位置(小数位),并且f表示打印浮点数。


示例 2:使用DecimalFormat取整数字

  1. import java.math.RoundingMode
  2. import java.text.DecimalFormat
  3. fun main(args: Array<String>) {
  4. val num = 1.34567
  5. val df = DecimalFormat("#.###")
  6. df.roundingMode = RoundingMode.CEILING
  7. println(df.format(num))
  8. }

运行该程序时,输出为:

  1. 1.346

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

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

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

以下是等效的 Java 代码:将数字四舍五入到 n 位的 Java 程序