# Kotlin 程序：反转数字

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

#### 在此程序中，您将学习在 Kotlin 中使用`while`循环反转数字。

## 示例：反转 Kotlin 中的数字

```kt
fun main(args: Array<String>) {
    var num = 1234
    var reversed = 0

    while (num != 0) {
        val digit = num % 10
        reversed = reversed * 10 + digit
        num /= 10
    }

    println("Reversed Number: $reversed")
}
```

运行该程序时，输出为：

```kt
Reversed Number: 4321
```

在此程序中，`while`循环用于按以下步骤反转数字：

*   首先，将`num`除以 10 的余数存储在变量`digit`中。 现在，`digit`包含`num`的最后一位，即 4。然后将`reversed`乘以 10 后加上`digit`。 乘 10 在倒序数字中添加一个新位置。 个位乘以 10 可得到十位，十位则可得到百位，依此类推。 在这种情况下，`reversed`包含`0 * 10 + 4 = 4`。然后
    `num`除以 10，因此现在它仅包含前三个数字：123。
*   在第二次迭代后，`digit`等于 3，`reversed`等于`4 * 10 + 3 = 43`，并且`num = 12` 
*   在第三次迭代后，`digit`等于 2，`reversed`等于`43 * 10 + 2 = 432`，并且`num = 1`
*   在第四次迭代后，`digit`等于 1，`reversed`等于`432 * 10 +1 = 4321`，并且`num = 0`
*   现在`num = 0`，因此测试表达式`num != 0`失败并且`while`循环退出。 `reversed`已经包含颠倒的数字 4321。

以下是等效的 Java 代码：[反转数字的 Java 程序](/java-programming/examples/reverse-number "Java Program to reverse a number")