在Julia中打印具有特定字符串长度宽度的数字

时间:2015-10-08 18:41:35

标签: printf julia

在朱莉娅,当我想要打印宽度为10的数字“4”时,我会这样做:

@printf("%10d", 4)

如果我想将宽度设置为特定字符串的长度,例如:

mystr = "Hello World"

如何将“%10d”中的10更改为length(mystr)

2 个答案:

答案 0 :(得分:5)

查看Formatting库:

using Formatting
printfmt("{:$(length("Hello World"))d}", 4)

答案 1 :(得分:2)

Julia并不支持运行时格式字符串。见https://github.com/JuliaLang/julia/issues/4248

但是,该问题中列出了黑客攻击。见https://github.com/JuliaLang/julia/issues/4248#issuecomment-24196846。基本上,你编写自己的printf函数,它将动态编译:

printf(fmt::String,args...) = @eval @printf($fmt,$(args...))