Julilang 中带有前导(左填充)零的字符串的数字

Number to string with leading (left padded) zeros in Julialang

这似乎是一个简单的问题,但我找不到答案。如果我有一个整型变量,我怎样才能将它转换为带有前导零的字符串?

我想要下面的代码:

n = 4
string_size = 3
println(fleading(n, string_size)) 
# result should be "004"

其中 fleading 类似于将数字转换为带前导零的字符串的函数。 python 中的类似方法是 str(4).zfill(3),结果为 004

您正在寻找 lpad()(左垫)功能:

julia> lpad(4,3,"0")
"004"

注意最后一个参数必须是字符串。

来自documentation

lpad(string, n, "p")

Make a string at least n columns wide when printed, by padding on the left with copies of p.

对于 Julia 1.0,语法是:

lpad(s, n::Integer, p::Union{AbstractChar,AbstractString}=' ')

因此示例为:

julia> lpad(4, 3, '0')
004

还有@printf("%03i",4)使用Printf.@printf