代码先锋网 代码片段及技术文章聚合

Lua之string.format占位符的使用

技术标签: lua  字符串

Lua之string.format占位符的使用

常用占位符
%c - 接受一个数字, 并将其转化为ASCII码表中对应的字符

%d, %i - 接受一个数字并将其转化为有符号的整数格式

%o - 接受一个数字并将其转化为八进制数格式

%u - 接受一个数字并将其转化为无符号整数格式

%x - 接受一个数字并将其转化为十六进制数格式, 使用小写字母

%X - 接受一个数字并将其转化为十六进制数格式, 使用大写字母

%e - 接受一个数字并将其转化为科学记数法格式, 使用小写字母e

%E - 接受一个数字并将其转化为科学记数法格式, 使用大写字母E

%f - 接受一个数字并将其转化为浮点数格式

%g(%G) - 接受一个数字并将其转化为%e(%E, 对应%G)及%f中较短的一种格式

%q - 接受一个字符串并将其转化为可安全被Lua编译器读入的格式

%s - 接受一个字符串并按照给定的参数格式化该字符串

举例说明
对于“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,在显示时都显示成两位数

print(string.format("%02d", 1)) ---01
print(string.format("%02d", 11)) ---11
print(string.format("%-3d",22)) --左对齐  22-
版权声明:本文为weixin_38508003原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38508003/article/details/108065171

智能推荐

Java String.format() 方法的使用

String format 方法的使用 format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale locale, String format, Object… args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。 1. %s:字符串类型,一...

关于String.format()的使用

关于String.format的使用 1 String.format()的简介 2 String.format()的使用 在日常工作中,经常涉及到字符串的操作,记录一下String.format()的相关方法使用. 参考资料: https://www.jianshu.com/p/359d9001ebbc https://www.cnblogs.com/jpfss/p/12027502.html h...

[Lua]实现类似C#的 string.Format 函数

Lua 的字符串格式化是继承 C 的方式,采用%s、%d、%f 等方式进行格式化,而在 C# 中采用 {0}、{0:D2} 的方式进行格式化,下面代码在 Lua 中实现 C# 形式的格式化,这里只实现了{0}形式,对于{0:D2}等形式不支持。 这种实现与 lua 的格式化相比,并不具备性能优势,完全是因为个人习惯使用 C# 的格式化形式。 测试代码如下:...

String.format和MessageFormat.format的使用

  常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。 format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale l...

String.format()方法使用

一.常规类型、字符类型和数值类型的格式说明符的语法如下:%[argument_index$][flags][width][.precision]conversion   可选的 argument_index 是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1___FCKpd___0quot; 引用,第二个参数由 "2___FCKpd___0quot;...

猜你喜欢

String.format()使用记录

工作中需要按照需求设置固定的编号,就用到了String.format()这里做一下记录...

java String.format()使用

转载自 http://blog.csdn.net/lonely_fireworks/article/details/7962171/ format(String format, Object… args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale locale, String format, Object… arg...

String.format()方法使用

在使用字符串的使用可能会遇到一个字符串中的某一部分的值是根据需要发生变化的,这个需要使用format方法来实时变化 String.format() 字符串包含了值和通配符,通配符根据类型不同而不同,...

第三部分 数据结构 第 10 章 基本数据结构

  数学中的集合是不变的,而由算法操作的集合却在整个过程中能增大、缩小或发生其他变化,称这样的集合是动态的。   动态集合中的元素   在动态集合的典型实现中,每个元素都由一个对象来表示,如果有一个指向对象的指针,就能对其各个属性进行检查和操作。一些类型的动态集合假定对象中的一个属性为标识关键字。   动态集合上的操作   分为两类:简单返回有关集合信息的查询操作和改变集合的修改操作。下面列出一些...