在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
虽然lua中字符串拼接“string.format”相对于“..”消耗较大,但有时为了代码的可读性,项目中还是经常用到“string.format”。至于这两个用法的性能看源码也很容易看出来,这里就简单说一下,前者其实调用C函数str_format来实现拼接的,而后者只是一个操作符,通过memcpy来拼接,并且多个“..”的操作其实也只执行了一次concat。 常用占位符%c - 接受一个数字, 并将其转化为ASCII码表中对应的字符 举例说明对于“string.format”的使用,占位符的使用也是有部分技巧。 1)string.format中怎么匹配带%的的字符串和占位符的使用 string.format("%d%%", 100) 输出: 100% string.format(""%s"", "Hello World") 输出: "Hello World" 2)常用的格式控制符 可以在%号后添加参数. 参数将以如下的顺序读入: (1) 符号: 一个+号表示其后的数字占位符将让正数显示正号. 负数不变. (2) 占位符: 一个0, 在后面指定了字串宽度时占位用. 默认占位符是空格. (3) 对齐标识: 在指定了字串宽度时, 默认为右对齐, 增加-号可以改为左对齐.(用于一些自动空格地方) (4) 宽度数值 .小数位数/字串裁切: 在宽度数值后增加的小数部分n, 若后接f则设定该浮点数的小数只保留n位, 若后接s则设定该字符串只显示前n位. string.format("%05d", 2015) 输出: 02015 string.format("%+04d", -2015) 输出: -2015 string.format("%+04d", 2015) 输出: +2015 string.format("%.5f", math.pi) 输出: 3.14159 string.format("%.8f", 0.123456789) 输出: 0.12345679 (这里可以看到第八位变成了9而不是8,其实是做了一个四舍五入操作) string.format("%.4s", "canglang") 输出: cang string.format("%8.4s", "canglang") 输出: cang 位数不够前面补0比如1,2,3,10,11,在显示时都显示成两位数
本文内容摘自:https://blog.csdn.net/canglangclient/article/details/49154093?utm_source=copy C#语言版本:String的高级用法(String.Format) |
请发表评论