代码之家  ›  专栏  ›  技术社区  ›  Elye

用Kotlin打印0001到1000。如何为数字添加填充?

  •  10
  • Elye  · 技术社区  · 7 年前

    for (i in 1..1000) print(i)
    
    6 回复  |  直到 7 年前
        1
  •  16
  •   s1m0nw1    7 年前

    你可以用 padStart

    (0..1000)
        .map { it.toString().padStart(4, '0') }
        .forEach(::println)
    

    它是Kotlin标准库的一部分,可用于所有平台。

        2
  •  9
  •   Marko Topolnik    7 年前

    (1..1000).forEach { println("%04d".format(it)) }
    

    String.format 是在中定义的扩展函数 StringsJVM 所以它不在通用标准库中。

        3
  •  4
  •   Ivan Samborskii    7 年前

    String.format() (与Java相同):

    "%04d".format(i)
    

    (1..1000).forEach { println("%04d".format(it)) }
    
        4
  •  3
  •   voddan    7 年前

    只是说清楚, for

    for(i in 1..1000)
        println("%04d".format(i))
    
        5
  •  3
  •   JTeam    7 年前

    有了padstart,没有任何映射或多个循环,

    (0..1000).forEach { println(it.toString().padStart(4, '0')) }
    
        6
  •  0
  •   Willi Mentzel user670265    7 年前

    toString() 在引擎盖下面,缩短通话时间:

    (0..1000).forEach { println("$it".padStart(4, '0')) }