如何从scala中的000开始获得三位数范围? ex List.range(000,200)输出:List(000,001,002 ....,199)

时间:2016-10-02 21:39:09

标签: scala

我正在编写一个scala程序来读取其文件名具有模式的200个镶木地板文件。我想过使用范围函数但不幸的是在范围000中被认为是0。

val x = List.range(000, 200)
println(x(0))

print语句将0作为输出。 我希望列表中包含(000, 001, 002, 003 ......., 198, 199)。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点,但最简单的方法之一就是使用user_id字符串插补器:

f

看起来像这样:

val ids: IndexedSeq[String] = (0 until 200).map(i => f"$i%03d")

scala> ids.take(5).foreach(println) 000 001 002 003 004 部分表示以下字符串文字中的任何变量都应使用提供的format string进行插值。在这种情况下,我们的整数id称为fi表示"插入宽度为3的整数值$i%03d,必要时插入零和#34;