如何解决删除不需要的十进制“ .0”
我正在制作一个简单的计算器,但它在显示要成为整数的小数时出现问题。例如,如果输入的表达式为“ 50 + 50”,则答案将为“ 100.0”。我知道发生这种情况是因为我的输出被设置为double,但是我无法弄清楚如何仅在答案为“ .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
}
解决方法
您可以使用removeSuffix
:
fun main() {
println(100.5.toString().removeSuffix(".0"))
println(100.0.toString().removeSuffix(".0"))
}
输出:
100.5
100
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。