android - 删除不需要的十进制“.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
}
解决方案
您可以使用removeSuffix
:
fun main() {
println(100.5.toString().removeSuffix(".0"))
println(100.0.toString().removeSuffix(".0"))
}
输出:
100.5
100
推荐阅读
- r - 通过平均所有 n 个混淆矩阵的准确度来获得 n 个不同混淆矩阵的整体准确度
- google-maps - 将使用 google maps javascript API 的 PWA 项目的技术推荐
- c - 斐波那契数列:我的代码输出结果有问题?
- python-3.x - Fbprophet 无法在 App Engine 中安装
- sql - SQL LAG 函数返回错误答案
- c# - 如何修复 Windows 窗体屏幕大小问题
- javascript - 如何在javascript中对具有相同日期的行求和?
- python - LSTM Keras 神经网络表示
- ansible - 按客户 EC2 实例部署的工具
- api - 是否有任何 API 可以获取 LinkedIn 公司的帖子数据以进行分析?