美文网首页
lua 字符串格式化;string.format()

lua 字符串格式化;string.format()

作者: 菜鸟的笔记 | 来源:发表于2019-11-11 17:38 被阅读0次

Lua 提供了 string.format() 函数来生成具有特定格式的字符串, 函数的第一个参数是格式 , 之后是对应格式中每个代号的各种数据。

由于格式字符串的存在, 使得产生的长字符串可读性大大提高了。
以下实例演示了如何对字符串进行格式化操作:

-- 日期格式化
date = 2; month = 1; year = 2014
print(string.format("日期格式化 %02d/%02d/%03d", date, month, year))

格式字符串可能包含以下的转义码:

转义码 描述
%c 接受一个数字, 并将其转化为ASCII码表中对应的字符
%d, %i 接受一个数字并将其转化为有符号的整数格式
%o 接受一个数字并将其转化为八进制数格式
%u 接受一个数字并将其转化为无符号整数格式
%x 接受一个数字并将其转化为十六进制数格式, 使用小写字母
%X 接受一个数字并将其转化为十六进制数格式, 使用大写字母
%e 接受一个数字并将其转化为科学记数法格式, 使用小写字母e
%E 接受一个数字并将其转化为科学记数法格式, 使用大写字母E
%f 接受一个数字并将其转化为浮点数格式
%g(%G) 接受一个数字并将其转化为%e(%E, 对应%G)及%f中较短的一种格式
%q 接受一个字符串并将其转化为可安全被Lua编译器读入的格式
%s 接受一个字符串并按照给定的参数格式化该字符串

为进一步细化格式, 可以在%号后添加参数. 参数将以如下的顺序读入:

编号 符号 描述
(1) 符号 一个 + 号表示其后的数字转义符将让正数显示正号. 默认情况下只有负数显示符号.
(2) 占位符 一个0, 在后面指定了字串宽度时占位用. 不填时的默认占位符是空格.
(3) 对齐标识 在指定了字串宽度时, 默认为右对齐, 增加 - 号可以改为左对齐.
(4) 宽度数值
(5) 小数位数/字串裁切 在宽度数值后增加的小数部分 n, 若后接 f (浮点数转义符, 如 %6.3f )则设定该浮点数的小数只保留 n 位, 若后接 s (字符串转义符, 如 %5.3s )则设定该字符串只显示前 n 位.

相关文章

网友评论

      本文标题:lua 字符串格式化;string.format()

      本文链接:https://www.haomeiwen.com/subject/ijatictx.html