首页 > 解决方案 > 删除不需要的十进制“.0”

问题描述

我正在制作一个简单的计算器,但我遇到了一个问题,它显示了我想要的整数的小数。例如,如果输入的表达式是“50 + 50”,答案将是“100.0”。我知道它正在发生,因为我的输出设置为双精度,但我无法弄清楚如何仅当答案为“.0”时将这些数字转换为整数。

我的输出答案代码:

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
}

标签: androidkotlinintegerdoublecalculator

解决方案


您可以使用removeSuffix

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

输出:

100.5
100

推荐阅读