Можно ли преобразовать число, взятое из TextView в тип Double и записать его в файл?

Я создала функцию для записи данных в файл. В файле уже лежит некоторое число (например 2.53), мне надо считать данные из TextView и добавить их к тому, что уже лежит в файле. Вот моя функция:

fun saveText(view: View?) {
        var fin: FileInputStream? = null
        fin = openFileInput(FILE_LEVEL)
        val bytes = ByteArray(fin.available())
        fin.read(bytes)
        val t = String(bytes)//данные из файла
        val t2 = kol.getText()//данные из TextView
        fin?.close()
        var fos: FileOutputStream? = null
        fos = openFileOutput(FILE_LEVEL, MODE_PRIVATE)
        fos.write(((t.toDouble() + t2.toDouble()).toString()).toByteArray())
        fos?.close()
    }

Проблема заключается в том, что у меня подсвечивается красным цветом

.toDouble()

В интернете я нашла такую функцию, но всё равно вылетает ошибка

fun String.toDouble(): Double = java.lang.Double.parseDouble(this.toString())

Помогите пожалуйста решить эту проблему


Ответы (1 шт):

Автор решения: Vadik

Метод getText() у TextView возвращает CharSequence. Чтобы получить строку, необходимо вызвать toString():

val text = textView.getText().toString()

И тогда вы сможете воспользоваться вашей функцией fun String.toDouble():

text.toDouble()
→ Ссылка