我想打印0001(注意前面的3个0),一次增量1,然后达到1000停止.我怎么能在Kotlin那样做,而不用复杂的自己附加0?
以下没有帮助,因为它不会有前面的0.
for (i in 1..1000) print(i)
Run Code Online (Sandbox Code Playgroud)
s1m*_*nw1 26
你可以使用padStart:
(0..1000)
.map { it.toString().padStart(4, '0') }
.forEach(::println)
Run Code Online (Sandbox Code Playgroud)
它是Kotlin标准库的一部分,适用于所有平台.
Mar*_*nik 13
如果您对特定于JVM的方法感到满意,那么您可以在Java中执行以下操作:
(1..1000).forEach { println("%04d".format(it)) }
Run Code Online (Sandbox Code Playgroud)
String.format是一个定义的扩展函数StringsJVM,它直接委托给底层函数String.format,因此它不在通用标准库中.
小智 6
在Kotlin中,您可以使用String.format()(与Java中相同):
"%04d".format(i)
Run Code Online (Sandbox Code Playgroud)
对于您的情况,您可以通过以下方式将其记录下来:
(1..1000).forEach { println("%04d".format(it)) }
Run Code Online (Sandbox Code Playgroud)
使用 PadStart 而没有任何地图或多个循环,
(0..1000).forEach { println(it.toString().padStart(4, '0')) }
Run Code Online (Sandbox Code Playgroud)
需要明确的是,for-loop也很好:
for(i in 1..1000)
println("%04d".format(i))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4003 次 |
| 最近记录: |