Lua: 特定长度的字符串
Lua: string of specific length
local data = "here is a string"
local no = 12
foo = string.format("%50s %05d",data,no)
print(foo:len(),string.format("%q",foo))
定义foo
为特定长度的字符串
" here is a string 00012"
但是,有没有一种简单的方法来获得
"here is a string 00012"
我知道,我可以用空格
填充字符串data
while data:len() < 50 do data = data.." " end
在格式字符串 %-50s
中添加减号以使文本左对齐:
foo = string.format("%-50s %05d","here is a string", 12)
print(foo:len(), foo)
输出:
56 here is a string 00012
允许的标志:
- : left align result inside field
+ : always prefix with a sign, using + if field positive
0 : left-fill with zeroes rather than spaces
(space) : If positive, put a space where the + would have been
# : Changes the behaviour of various formats, as follows:
For octal conversion (o), prefixes the number with 0 - if necessary.
For hex conversion (x), prefixes the number with 0x
For hex conversion (X), prefixes the number with 0X
For e, E and f formats, always show the decimal point.
For g and G format, always show the decimal point, and do not truncate trailing zeroes.
The option to 'always show the decimal point' would only apply if you had the precision set to 0.
local data = "here is a string"
local no = 12
foo = string.format("%50s %05d",data,no)
print(foo:len(),string.format("%q",foo))
定义foo
为特定长度的字符串
" here is a string 00012"
但是,有没有一种简单的方法来获得
"here is a string 00012"
我知道,我可以用空格
填充字符串data
while data:len() < 50 do data = data.." " end
在格式字符串 %-50s
中添加减号以使文本左对齐:
foo = string.format("%-50s %05d","here is a string", 12)
print(foo:len(), foo)
输出:
56 here is a string 00012
允许的标志:
- : left align result inside field
+ : always prefix with a sign, using + if field positive
0 : left-fill with zeroes rather than spaces
(space) : If positive, put a space where the + would have been
# : Changes the behaviour of various formats, as follows:
For octal conversion (o), prefixes the number with 0 - if necessary.
For hex conversion (x), prefixes the number with 0x
For hex conversion (X), prefixes the number with 0X
For e, E and f formats, always show the decimal point.
For g and G format, always show the decimal point, and do not truncate trailing zeroes.
The option to 'always show the decimal point' would only apply if you had the precision set to 0.