Swift-数字字符串格式化

之前看到一段代码:

let str = "lazy"

String(format:"%@ boy",arguments:[str])

        没理解意思,后来在网上查了查这属于【字符串格式化】,随后我做了归总,有需要的可以了解。

数字字符串格式化

        使用格式:%长度修饰符+说明符

         例如:%ld    表示可以显示最大Int64位

 

//长度修饰符
         h       表示short或者unsigned short
         l        表示long或者unsigned long (ll,q 表示long long或者unsigned long long) Int
         L       表示long double
         z       表示可能为正
         t       表示可能为负

//格式化说明符
         %@               字符串,或者OC对象实现了descriptionWithLocal,description的返回字符串
         %d,%D          32位整型(最大2147483647)
         %u,%U          32位无符号整型(最大4294967295)
         %f                64位float和double

 

以下给点案例,更加直观感受变化,首先给出测试数据:

let d:Double = 12.3900
let i:Int = 36
let i2:Int = 350087

1、固定显示多少位

1.1、固定四位显示

String(format:"%4d",i)//" 36" (注意有两个空格)
String(format:"%4d",i2)//"350087" (位数大于,则全部显示)

1.2、固定四位显示,不足补0

String(format:"%0.4d",i)//"0036"
String(format:"%0.4d",i2)//"350087" (位数大于,则全部显示)

2、保留小数点后固定位数

2.1、保留两位

String(format:"%.2f",d)//"12.39"

 

1、单个变量格式化

1.1、字符串类型格式化

let str = "lazy"
print(String(format:"%@ boy", arguments:[string]))//输出结果:lazy boy

1.2、Number类型格式化

let num = 10
print(String(format:"%4d 个",arguments:[num]))//输出结果:10个
print(String(format:"%04d 个",arguments:[num]))//输出结果:0010个

1.3、Float类型格式化

let float = 1.1111
print(String(format:"%fkg",arguments:[float]))//输出结果:1.111100kg
print(String(format:"%.0fkg",arguments:[float]))//输出结果:1kg
print(String(format:"%.2fkg",arguments:[float]))//输出结果:1.11kg
print(String(format:"%.5fkg",arguments:[float]))//输出结果:1.11110kg

2、多个变量格式化

print(String(format:"%.1fkg, %03d 个, %@ boy, %@ girl",arguments:[float,num,string,string]))

//输出结果:1.1kg, 010 个, lazy boy, lazy girl
posted @ 2023-01-19 15:51  摇曳之帆  阅读(556)  评论(0)    收藏  举报