В Kotlin обычным требованием является преобразование строкового представления числа в соответствующее ему значение с плавающей запятой. В этой статье будут рассмотрены различные методы достижения такого преобразования и приведены примеры кода для каждого подхода.
Метод 1: использование функции toFloat()
Один простой способ преобразовать строку Kotlin в число с плавающей запятой — использовать встроенную функцию toFloat(). Эта функция доступна в классе String и преобразует строку в число с плавающей запятой.
val str = "3.14"
val floatNumber: Float = str.toFloat()
Метод 2: использование функции parseFloat()
Подобно функции toFloat(), Kotlin также предоставляет функцию parseFloat(), которая напрямую преобразует строку в значение с плавающей запятой.
val str = "2.71828"
val floatNumber: Float = parseFloat(str)
Метод 3: использование класса java.lang.Float
В Kotlin вы также можете использовать класс java.lang.Float платформы Java для выполнения преобразования.
val str = "1.618"
val floatNumber: Float = java.lang.Float.parseFloat(str)
Метод 4. Использование класса NumberFormat
Если вам нужен больший контроль над форматированием строки перед преобразованием, вы можете использовать класс java.text.NumberFormat.
import java.text.NumberFormat
import java.util.Locale
val str = "123,456.78"
val numberFormat = NumberFormat.getInstance(Locale.US)
val floatNumber: Float = numberFormat.parse(str)?.toFloat() ?: 0f
Преобразование строки Kotlin в число с плавающей запятой — распространенная задача во многих приложениях. В этой статье мы рассмотрели несколько методов выполнения этого преобразования. Независимо от того, используете ли вы встроенные функции toFloat() и parseFloat(), класс java.lang.Float или класс java.text.NumberFormat для более сложных сценариев, теперь у вас есть множество вариантов выбора, когда преобразование строк в числа с плавающей запятой в Kotlin.
Не забудьте правильно обрабатывать исключения при использовании этих методов, поскольку недопустимые форматы строк могут привести к ошибкам синтаксического анализа.