Android 如何防止数字进入我的文本视图中的科学符号?

Android 如何防止数字进入我的文本视图中的科学符号?,android,kotlin,Android,Kotlin,我正在做一个计算器。当我添加太多字符时,显示器会自动获得这种科学符号 我如何防止这种情况 if ((answer == null)) { answer = 0.0 } else { answer = (answer * 10) + digit } answerEditText.setText(checkLast2Digits(answer.toDouble().toString())) } // removes the .0 fr

我正在做一个计算器。当我添加太多字符时,显示器会自动获得这种科学符号

我如何防止这种情况

    if ((answer == null)) {
        answer = 0.0
    } else {
        answer = (answer * 10) + digit
    }
    answerEditText.setText(checkLast2Digits(answer.toDouble().toString()))
}

// removes the .0 from the end of the string
private fun checkLast2Digits(answerText: String): String {
    val checkLast2Digits = answerText.takeLast(2)
    if (checkLast2Digits.equals(".0")) {
        return answerText.toString().take(answerText.toString().length - 2)
    } else {
        return answerText.toString()
    }
}

您可以使用
.toBigDecimal().toPlainString()
来避免使用科学符号。这还会删除小数点后的尾随零,因此您也不需要其他函数

answerEditText.setText(answer.toBigDecimal().toPlainString())

您似乎在这里使用了
double
,这是一种不适合计算器的格式:精度有限和舍入误差是两个原因。您应该使用任意精度类型,如他的答案中建议的@Tenfour04。