Kotlin tiene una excelente característica llamada plantillas de cadena. Me encanta de verdad.
val i = 10
val s = "i = $i" // evaluates to "i = 10"
Pero, ¿es posible tener algún formato en las plantillas? Por ejemplo, me gustaría formatear plantillas de doble cadena en kotlin, al menos para establecer un número de dígitos después de un separador decimal:
val pi = 3.14159265358979323
val s = "pi = $pi??" // How to make it "pi = 3.14"?
string-formatting
kotlin
MajesticRa
fuente
fuente
Respuestas:
Desafortunadamente, todavía no hay soporte incorporado para formatear plantillas de cadena, como solución alternativa, puede usar algo como:
la
.format(n)
función que necesitarías para definirte comoClaramente, hay una funcionalidad aquí que le falta a Kotlin en este momento, lo arreglaremos.
fuente
Como solución alternativa, hay una función stotlib de Kotlin que se puede usar de una manera agradable y totalmente compatible con el formato de cadena de Java (es solo un contenedor alrededor de Java
String.format()
)Ver la documentación de Kotlin
Tu código sería:
fuente
La clase String de Kotlin tiene una función de formato ahora, que utiliza internamente el
String.format
método de Java :Uso
fuente
Es simple, uso:
fuente
Dado que
String.format
es solo una función de extensión (consulte aquí ) que llama internamentejava.lang.String.format
, podría escribir su propia función de extensión utilizando DecimalFormat de Java si necesita más flexibilidad:fuente
Un par de ejemplos:
fuente