Kotlin计算等式存在错误:输入6的结果与预期不符
Kotlin代码计算结果不符预期的原因及解决办法
问题原因
Kotlin中整数除法会自动舍弃小数部分,你的代码里val pie = 22/7是两个Int类型数值做除法,结果会被取整为3,而非预期的浮点值3.142857...。后续计算6*6*3自然得到108。而JavaScript中数字默认是浮点数类型,22/7会保留完整浮点结果,因此同逻辑的JS代码能输出正确值。
解决办法
1. 改用浮点数除法计算圆周率
将22或7改为浮点数,让除法运算产生浮点结果:
val pie = 22.0 / 7 // 或 22 / 7.0,结果均为Double类型的3.142857...
2. 可选:控制输出小数位数
如果需要保留指定小数位(如两位),可使用格式化输出:
println("%.2f".format(a)) // 输出113.14
修改后的完整代码
fun main(args: Array<String>) { val pie = 22.0 / 7 println("Enter a number for triangle area") val input = readLine()?: "" val side = input.toInt() val a = side * side * pie println("%.2f".format(a)) }
内容的提问来源于stack exchange,提问作者mustryy official
相关产品推荐
相关产品推荐

