Kotlin 科特林计算器可以';最后不要删除double.0
在double中获取输出不是一个选项,因为它最终会给出整数.0。我尝试添加Kotlin 科特林计算器可以';最后不要删除double.0,kotlin,Kotlin,在double中获取输出不是一个选项,因为它最终会给出整数.0。我尝试添加.roundToInt(),但它不起作用,编译时会出现以下错误:类型不匹配:推断类型为Int,但预期为Double如果我理解正确,您希望去掉双精度值(尾随零)末尾的十进制零。如果是这样,这里有一个干净的解决方案。 使用双倍值进行所有计算,如果要打印结果,请按以下方式进行: fun equalsClick(view: View) { val sec0perandText: String = resultTex
.roundToInt()
,但它不起作用,编译时会出现以下错误:类型不匹配:推断类型为Int,但预期为Double
如果我理解正确,您希望去掉双精度值(尾随零)末尾的十进制零。如果是这样,这里有一个干净的解决方案。
使用双倍值进行所有计算,如果要打印结果,请按以下方式进行:
fun equalsClick(view: View) {
val sec0perandText: String = resultTextView.text.toString()
var sec0perand: Double = 0.0.roundToInt()
if (!TextUtils.isEmpty(sec0perandText)) {
sec0perand = sec0perandText.toDouble()
}
when (operation) {
"+" -> resultTextView.text = (operand + sec0perand).toString()
"-" -> resultTextView.text = (operand - sec0perand).toString()
"*" -> resultTextView.text = (operand * sec0perand).toString()
"/" -> resultTextView.text = (operand / sec0perand).toString()
}
}
如果十进制数字是零或其他十进制值(它不会对数字进行四舍五入,只是对其进行格式化)如果我理解正确,您希望去掉双精度值末尾的十进制零(尾随零)。如果是这样,这里有一个干净的解决方案。 使用双倍值进行所有计算,如果要打印结果,请按以下方式进行:
fun equalsClick(view: View) {
val sec0perandText: String = resultTextView.text.toString()
var sec0perand: Double = 0.0.roundToInt()
if (!TextUtils.isEmpty(sec0perandText)) {
sec0perand = sec0perandText.toDouble()
}
when (operation) {
"+" -> resultTextView.text = (operand + sec0perand).toString()
"-" -> resultTextView.text = (operand - sec0perand).toString()
"*" -> resultTextView.text = (operand * sec0perand).toString()
"/" -> resultTextView.text = (operand / sec0perand).toString()
}
}
如果十进制数字是零或其他十进制值,这将去除它们(它不会对数字进行四舍五入,只是格式化它)
我尝试添加.roundToInt(),但它不起作用,编译时会出现以下错误:类型不匹配:推断的类型为Int,但应为Double
你只是在错误的地方做,使用
resultTextView.text = String.format("%.0f", operand + sec0perand)
等等
我尝试添加.roundToInt(),但它不起作用,编译时会出现以下错误:类型不匹配:推断的类型为Int,但应为Double
你只是在错误的地方做,使用
resultTextView.text = String.format("%.0f", operand + sec0perand)
依此类推。使用
NumberFormat
格式化数字toString()
通常用于调试目的。在这种情况下使用double可能会出现一些尴尬的情况。 我强烈怀疑用大小数会更好;有了它们,你就可以得到你想要的准确度,而不必做狡猾的取整来隐藏不准确的地方。 您可以根据需要设置它们的小数位数。使用NumberFormat
设置数字格式toString()
通常用于调试目的。在这种情况下使用double可能会出现一些尴尬的情况。 我强烈怀疑用大小数会更好;有了它们,你就可以得到你想要的准确度,而不必做狡猾的取整来隐藏不准确的地方。 您可以设置它们的小数位数,以根据需要提供尽可能多或尽可能少的小数位数。