У Kotlin есть отличная функция, которая называется строковые шаблоны. Мне действительно нравится это.
val i = 10
val s = "i = $i" // evaluates to "i = 10"
Но возможно ли иметь какое-либо форматирование в шаблонах? Например, я хотел бы отформатировать Double в строковых шаблонах в kotlin, по крайней мере, чтобы установить количество цифр после десятичного разделителя:
val pi = 3.14159265358979323
val s = "pi = $pi??" // How to make it "pi = 3.14"?
string-formatting
kotlin
MajesticRa
источник
источник
Ответы:
К сожалению, пока нет встроенной поддержки форматирования в строковых шаблонах. В качестве обходного пути вы можете использовать что-то вроде:
.format(n)
функции вы должны определить себя какЗдесь явно есть какая-то функциональность, которой нет у Kotlin на данный момент, мы исправим это.
источник
В качестве обходного пути, есть функция stdlib Kotlin, которую можно использовать хорошим способом и полностью совместить с форматом Java String (это только оболочка вокруг Java
String.format()
)Смотрите документацию Kotlin
Ваш код будет:
источник
Класс String Kotlin теперь имеет функцию форматирования , которая внутренне использует
String.format
метод Java :использование
источник
Это просто, используйте:
источник
Поскольку
String.format
это только функция расширения (см. Здесь ), которая внутренне вызывает,java.lang.String.format
вы можете написать свою собственную функцию расширения, используя Java DecimalFormat, если вам нужна большая гибкость:источник
Пара примеров:
источник