如何以固定宽度(左对齐或右对齐)打印数字?


#1

请问下有没有传入一个整数和一个宽度变量返回它的字符串的函数?
比如我想右对齐打印100,宽度在运行时通过计算来确定。有没有这样一个函数。
比如C语言的

#include<stdio.h>
#include<math.h>

int main()
{
        int x = 284823588;
        int width = (int)(log(x)/log(10)) + 5;
        printf("%*.d", width, x);
        return 0;
}

#2

试试这个库

julia> s = format(3.1415, width=100, precision=4)
"                                                                                              3.1415"

julia> s = format(3.1415, width=100, precision=4, leftjustified=true)
"3.1415

这种写法效率不是最高的,更高效的写法见 C-style functions - usage 2


#3

谢谢你喔,:grin:


#4

julia> string(3,pad=5)
“00003”

库函数,如果讲速度,个人认为ulia的字符串是比较慢的


#5

我已经解决了,用了Formatting,前面不补0,而是补空格。不过也谢谢你。