首页 > 其他分享 >Swift-数字字符串格式化

Swift-数字字符串格式化

时间:2023-01-19 16:00:55浏览次数:47  
标签:格式化 String format print let arguments 字符串 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

标签:格式化,String,format,print,let,arguments,字符串,Swift
From: https://www.cnblogs.com/yaoyezhifan/p/17061670.html

相关文章

  • 代码随想录算法训练营第八天 344.反转字符串 | 541. 反转字符串II | 剑指Offer 05.替
    字符串lc344反转字符串这道题目其实比较简单,关键在于理解题意并想想哪些库函数可以用,哪些不可以。像这道题,reverse就不要用,swap就可以。自己的classSolution{publi......
  • Day03 输入输出及字符串操作
    一、输入输出1、输出按住Ctrl鼠标左键点击print函数,会打开print函数的实际代码其中,sep='', 步长step,数据之间以空格分割默认是空格end='\n' 在打印后会额外的加......
  • Algorithm 4 - 字符串 (Seriously)
    主讲一些自动机相关、高级技巧相关。Part1AC自动机是最好理解的一个自动机捏。Part1.1性质与探索方向AC自动机本身基于Trie,即去掉后面说的fail指针,它就是一棵......
  • 字符串全排列-js
    题目描述思路分析对于全排列类型的题我们都可以按照之前的思路去做,(全排列)。采用回溯的方法。这里的字符串我们也可以借助之前的函数,将字符串转为数组即可代码参考co......
  • 代码随想录算法训练营第八天 | 反转字符串、反转字符串II,剑指Offer 05.替换空格,左旋
    344.反转字符串classSolution{public:voidreverseString(vector<char>&s){intleft=0;intright=s.size()-1;while(left<right){swap(s[left],s[rig......
  • c++基础篇之C++ 字符串
    C++字符串C++提供了以下两种类型的字符串表示形式:C风格字符串C++引入的string类类型​​C风格字符串​​C风格的字符串起源于C语言,并在C++中继续得到支持。字符......
  • 计算机中数值和字符串怎么用二进制表示?
    作者:小牛呼噜噜|https://xiaoniuhululu.com计算机内功、JAVA底层、面试、职业成长相关资料等更多精彩文章在公众号「小牛呼噜噜」大家好,我是呼噜噜。我们都知道现代......
  • 04 Tcl字符串
    Tcl字符串4.1Tcl将说有的变量值视作字符串,并将他们作为字符串进行保存。命令描述append将值追加到字符串尾binary二进制化字符串format字符串格式化......
  • mysql 格式化字符串时间查询
    select`r`.*from`table_aaa`as`r`leftjoin`table_bbb`as`m`on`r`.`idNo`=`m`.`me_no`where((CONVERT(r.money,DECIMAL(10,2))>=1)and(CONVERT(r.......
  • 使用dayjs关于日期格式化的一些记录
    本篇文章主要是看了下面这篇博文和知乎上的讨论出现的http://www.cielni.com/2020/01/10/java-date-format/#morehttps://zhuanlan.zhihu.com/p/100648038通常前端会使......