13

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

我想要如下代码:

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

fleading将数字转换为带有前导零的字符串的函数在哪里。python中的类似方式是str(4).zfill(3)给出004结果。

4

3 回答 3

23

您正在寻找lpad()(for left pad) 功能:

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

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

文档中:

lpad(字符串,n,“p”)

打印时,通过在左侧填充 p 的副本,制作一个至少 n 列宽的字符串。

于 2016-08-24T19:46:47.683 回答
4

对于 Julia 1.0,语法是:

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

因此,示例是:

julia> lpad(4, 3, '0')
004
于 2019-02-08T11:46:59.153 回答
1

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

于 2021-04-27T17:49:42.397 回答