Swift String格式化字符串
Swift String格式化字符串

Swift String格式化字符串

String(format:) 是 Swift 中用于创建格式化字符串的构造器,它可以根据提供的格式说明符和对应的值来生成一个新的字符串。这个构造器的使用与 C 语言中的 printf 函数类似,可以以指定的方式展示数字、字符串、日期等数据。

基本语法

let formattedString = String(format: "格式化模板", 参数1, 参数2, ...)

格式化模板:是一个包含格式说明符的字符串,说明符决定了如何格式化和显示后面参数的值。

参数1, 参数2, …:这些是希望格式化的值,它们会根据格式化模板被插入到字符串中。

常见的格式说明符

在 String(format:) 中,可以使用多种格式说明符来控制输出的格式。以下是一些常见的说明符和它们的含义:

1、数字格式

%d 或 %i:格式化为 整数(十进制表示)

示例:String(format: “%d”, 42) 输出 “42”

%f:格式化为 浮点数(小数点后保留默认的 6 位数字)

示例:String(format: “%.2f”, 3.14159) 输出 “3.14”(保留两位小数)

%.nf:格式化浮点数并保留 n 位小数

示例:String(format: “%.3f”, 3.14159) 输出 “3.142”(保留三位小数)

%e 或 %E:以 科学计数法 格式化数字

示例:String(format: “%e”, 12345.6789) 输出 “1.234568e+04”

%g 或 %G:根据数值的大小自动选择合适的格式(普通数值或科学计数法)

示例:String(format: “%g”, 0.000123) 输出 “0.000123”

2、字符和字符串格式

%@:格式化为 字符串

示例:String(format: “%@”, “Hello”) 输出 “Hello”

%c:格式化为 单个字符

示例:String(format: “%c”, “A”) 输出 “A”

3、宽度和对齐

还可以指定宽度和对齐方式:

%5d:整数宽度为 5,若数字小于 5 位,则前面会填充空格

示例:String(format: “%5d”, 42) 输出 ”   42″

%-5d:整数宽度为 5,若数字小于 5 位,则后面会填充空格(左对齐)

示例:String(format: “%-5d”, 42) 输出 “42   “

%05d:整数宽度为 5,若数字小于 5 位,则用 0 填充

示例:String(format: “%05d”, 42) 输出 “00042”

4、百分比格式

%%:表示一个 字面量百分号(%),用于在字符串中插入一个百分号符号

示例:String(format: “Completion: %d%%”, 75) 输出 “Completion: 75%”

常见用法

1、格式化浮点数保留两位小数

let price = 9.995
let formattedPrice = String(format: "%.2f", price)  // "10.00"

2、格式化整数并填充零

let score = 42
let formattedScore = String(format: "%05d", score)  // "00042"

3、格式化字符串

let name = "Alice"
let greeting = String(format: "Hello, %@", name)  // "Hello, Alice"

4、格式化多个参数

let name = "Alice"
let age = 25
let formattedString = String(format: "Name: %@, Age: %d", name, age)
// "Name: Alice, Age: 25"

5、科学计数法格式化数字

let number = 12345.6789
let formattedNumber = String(format: "%e", number)  // "1.234568e+04"

总结

String(format:) 是一个强大的格式化工具,它根据指定的格式化模板灵活地输出各种类型的值(整数、浮点数、字符串等)。常见的用法包括设置浮动小数的精度、控制数值的显示宽度、格式化日期等。

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注