Kotlin从Java语言中借用了String.format() 方法,所以你可以用它来格式化你的字符串值。
例如,假设你想把PI 的值格式化为两位数的格式 (3.14)
下面是你如何格式化这些数字的方法:
val PI = 3.14159265358979323
val myStr = String.format("The PI value is %.2f", PI)
print(myStr)// The PI value is 3.14
像在Java中一样,format() 函数的第一个参数将是字符串格式,而其余的将是要放入字符串的值。
字符串内的%f 是用来格式化浮动值的。.2 是用来限制浮点数为2 位数的。
如果你想向格式化传递一个String 值,你可以使用%s 指定器,如下所示:
val name = "Nathan"
val myStr = String.format("My name is %s", name)
print(myStr)// My name is Nathan
下面是你可以在Kotlin中使用的指定器的完整列表:
%b- 布尔值%c- 字符%d- 有符号的整数%e- 科学记数法的浮点数%f- 小数格式的浮点数%g- 十进制或科学记数法的浮点数,取决于该值%h- 提供的参数的哈希码%n- 新行分隔符%o- 八进制整数(8进制)%s- 字符串%t- 日期或时间%x- 十六进制整数(基数16)
你可以在你的String.format() 方法中使用任意多的指定器。
下面是一个在字符串格式中使用3个指定器的例子(一个Boolean ,一个String ,和一个Integer ):
val myStr = String.format("%b | %s | %d", false, "Morning", 90)
print(myStr)// false | Morning | 90
Kotlin会从左到右运行格式化器,将第二个参数作为字符串格式的第一个值,以此类推。
这就是你如何使用KotlinString.format() 方法来格式化字符串值👍