Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
288 views
in Technique[技术] by (71.8m points)

android - Drop un-needed decimal ".0"

I'm making a simple calculator and I am having an issue with it showing a decimal on what I want to just be a whole number. For example, if the entered expression is "50 + 50" the answer will come out "100.0". I understand that it's happening because my output is set as a double, but I can't figure out how to convert those numbers to integer only when the answer is ".0".

My output answer code:

fun equal (view: View) {
    secondnum = editText.text.toString()
    decpressed = 0
    var sum = 0.0
    when (op) {
        "+" -> {sum = (firstnum.toDouble() + secondnum.toDouble())}
        "-" -> {sum = (firstnum.toDouble() - secondnum.toDouble())}
        "*" -> {sum = (firstnum.toDouble() * secondnum.toDouble())}
        "/" -> {sum = (firstnum.toDouble() / secondnum.toDouble())}
    }
    editText.setText(sum.toString())
    textView.text = "$firstnum $op $secondnum ="
    zero = true
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You can use removeSuffix:

fun main() {
    println(100.5.toString().removeSuffix(".0"))
    println(100.0.toString().removeSuffix(".0"))
}

Output:

100.5
100

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...