格式在kotlinstring模板
Kotlin有一个很好的function叫做string模板。 我很喜欢。
val i = 10 val s = "i = $i" // evaluates to "i = 10"
但有可能在模板中有任何格式? 例如,我想在kotlin的string模板中格式化Double,至less要在小数点分隔符之后设置一些数字:
val pi = 3.14159265358979323 val s = "pi = $pi??" // How to make it "pi = 3.14"?
不幸的是,在string模板中没有内置的格式支持,作为一个解决方法,你可以使用类似于:
"pi = ${pi.format(2)}"
.format(n)
函数,你需要自己定义为
fun Double.format(digits: Int) = java.lang.String.format("%.${digits}f", this)
Kotlin目前显然缺less一些function,我们会解决这个问题。
作为一种解决方法, 有一个Kotlin stdlib函数可以很好的使用,并且完全兼容Java的String格式(它只是Java的String.format()
的封装)
你的代码是:
val pi = 3.14159265358979323 val s = "pi = %.2f".format(pi)