Julialang中将数字转换为带有左侧零填充的字符串

15

这似乎是一个简单的问题,但我无法在任何地方找到答案。如果我有一个整数变量,如何将其转换为具有前导零的字符串?

我想要类似下面代码的东西:

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

其中 fleading 应该是将数字转换为带有前导零的字符串的函数。在Python中对应的方式是使用 str(4).zfill(3),这将返回结果为 004

3个回答

30

您正在寻找lpad()(左填充)函数:

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

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

文档中得知:

lpad(string, n, "p")

通过在左侧用p的副本填充来使打印时的字符串至少为n列宽度。


1
谢谢!寻找前导零没有给我任何结果。 - silgon
1
@silgon 是的,了解所有人们用来指称这种东西的不同术语确实有些棘手。 - Michael Ohlrogge
现在它必须是lpad(4,3,“0”),因为最后一个必须是字符串。 - Wikunia

5

对于Julia 1.0,语法如下:

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

因此,示例为:

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

1
谢谢!文档链接:https://docs.julialang.org/en/v1/base/strings/#Base.lpad - captainpete

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接