O Kotlin possui um excelente recurso chamado modelos de string. Eu realmente amo isso.
val i = 10
val s = "i = $i" // evaluates to "i = 10"
Mas é possível ter alguma formatação nos modelos? Por exemplo, eu gostaria de formatar Double em modelos de string no kotlin, pelo menos para definir um número de dígitos após um separador decimal:
val pi = 3.14159265358979323
val s = "pi = $pi??" // How to make it "pi = 3.14"?
string-formatting
kotlin
MajesticRa
fonte
fonte
Respostas:
Infelizmente, ainda não há suporte interno para formatação em modelos de string, como solução alternativa, você pode usar algo como:
a
.format(n)
função que você precisa para se definir comoClaramente, há uma parte da funcionalidade que está faltando no Kotlin no momento, vamos corrigi-la.
fonte
Como solução alternativa, existe uma função stdlib do Kotlin que pode ser usada de uma maneira agradável e totalmente compatível com o formato String do Java (é apenas um invólucro do Java
String.format()
)Veja a documentação do Kotlin
Seu código seria:
fonte
A classe String do Kotlin agora possui uma função de formato , que usa internamente o
String.format
método Java :Uso
fonte
É simples, use:
fonte
Como
String.format
é apenas uma função de extensão (veja aqui ) que chama internamente,java.lang.String.format
você pode escrever sua própria função de extensão usando o DecimalFormat do Java, se precisar de mais flexibilidade:fonte
Alguns exemplos:
fonte