从第一个数字开始比较,而不是 kotlin 中的整数

Starts comparing from the first number, not the whole number in kotlin

你好,我需要比较 2 个数字,我使用了 >, => 但它不比较整数,它寻找最左边的数字并进行比较 例如,数字是 92,236,我想将它与 100,000 进行比较,它说 92236 大于 100,000,这是因为第一个数字是 9,第二个数字的第一个数字是 1,所以它说 100,000 并不大比 9236

这是我所做的

class IncreaseMoneyFragment : Fragment() {

var decide = ""

val increaseEditText = mIncreaseMoneyBinding.increaseEdt.text.toString()  (get value of edit text)
                        val currentPayment = it.payment  (get loanPayment from database)
                        if (increaseEditText > currentPayment) {
                            Toast.makeText(activity, "more", Toast.LENGTH_SHORT).show()
                            val more = "بیشتر"
                            decide = more
                        } else {
                            Toast.makeText(activity, "less", Toast.LENGTH_SHORT).show()
                            val less = "کمتر"
                            decide = less
                        }
                        builder.setTitle(" مبلغ مورد نظر از مبلغ قسط وام $decide است. ادامه میدهید؟")

谢谢你帮助我 :)

您很可能在此处比较字符串(文本)而不是数字。这就是为什么它使用字母顺序而不是整数顺序的原因:

println("92236" > "100000") // true
println(92236 > 100000) // false

您可能希望将字符串转换为整数:

if (increaseEditText.toInt() > currentPayment.toInt()) {
    // ...
}

请注意,如果字符串不是实际数字(例如空的),toInt 将会崩溃。

如果您想要更安全,可以使用toIntOrNull。 returns null 如果字符串不是数字,那么你可以简单地检查是否为空并在比较之前单独处理这个问题。