Я разрабатываю приложение-калькулятор EMI, используя Tenure и Loan Amount в качестве входных данных, используя kotlin, весь код в порядке, но все еще получаю ошибку, и код не работает.
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import kotlin.math.pow
class EMIPayment : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_emipayment)
title = "EMI Payment"
supportActionBar?.setBackgroundDrawable(
ColorDrawable(Color.parseColor("#3F51B5")))
try {
val calculateEMI = findViewById<Button>(R.id.calculateEMI)
val emiView = findViewById<TextView>(R.id.EMIView)
val pe = findViewById<EditText>(R.id.loanAmount)
val ne = findViewById<EditText>(R.id.tenure)
val p = pe.toString().toDouble()
val n = ne.toString().toDouble()
val r = 0.01717
val result = (p*r*(1+r).pow(n))/((1+r).pow(n)-1)
calculateEMI.setOnClickListener {
val fin = result*1
emiView.text = fin.toString()
}
} catch (e:NumberFormatException ) {
Toast.makeText(applicationContext, "Error occurred",Toast.LENGTH_SHORT).show()}}}
«весь код в порядке» – «но возникает ошибка». Видимо код не в порядке; если бы все было в порядке, вы бы не получали ошибок.
@knittl, вероятно, проблема с языком. Я думаю, что «весь код в порядке», вероятно, означает «нет ошибок компилятора».
Нам нужна трассировка стека сбоя, чтобы помочь вам.
Вы пытаетесь преобразовать представление в String, а затем проанализировать его в Double:
val p = pe.toString().toDouble()
Это невозможно. Вместо этого вы, вероятно, захотите получить текстовое значение внутри этого EditText:
val p = pe.getText().toString().toDouble()
Какая ошибка? Пожалуйста, включите полную трассировку стека.