我在计算器末尾得到“.0”
I get ".0" in the end of calculator
class MainActivity : AppCompatActivity() {
private lateinit var resultTextView: TextView
private var operand: Double = 0.0
private var operation: String = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
resultTextView = findViewById(R.id.resultTextView)
fun numberClick(view: View) {
if (view is TextView) {
val number: String = view.text.toString()
var result: String = resultTextView.text.toString()
if (result == "0") {
result = ""
}
if (result == ".") {
result = ""
}
resultTextView.text = result + number
}
}
我用 Kotlin 构建了一个简单的计算器,但是当我做任何加减运算时,我最后得到的是“.0”。
我的意思是,当我执行类似 2+2 的操作时,它会输出 4.0,但它只需要是 4。
这是因为它是双精度的,它的末尾自动带有 .0
如果您只输入整数,您可以对其进行舍入或将其从双精度转换为整数,因此例如在双精度上调用此函数以获得不带 .0 的整数
.roundToInt()
class MainActivity : AppCompatActivity() {
private lateinit var resultTextView: TextView
private var operand: Double = 0.0
private var operation: String = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
resultTextView = findViewById(R.id.resultTextView)
fun numberClick(view: View) {
if (view is TextView) {
val number: String = view.text.toString()
var result: String = resultTextView.text.toString()
if (result == "0") {
result = ""
}
if (result == ".") {
result = ""
}
resultTextView.text = result + number
}
}
我用 Kotlin 构建了一个简单的计算器,但是当我做任何加减运算时,我最后得到的是“.0”。
我的意思是,当我执行类似 2+2 的操作时,它会输出 4.0,但它只需要是 4。
这是因为它是双精度的,它的末尾自动带有 .0
如果您只输入整数,您可以对其进行舍入或将其从双精度转换为整数,因此例如在双精度上调用此函数以获得不带 .0 的整数
.roundToInt()