Kotlin 错误:未解析的引用:roundToInt

Kotlin 错误:未解析的引用:roundToInt,kotlin,Kotlin,我试图使用roundToInt()将双精度值转换为四舍五入整数,但我得到了未解析的引用异常 我正在经历官方的考验,但仍然没有运气 代码: fun solve(meal_cost: Double, tip_percent: Int, tax_percent: Int): Unit { var tip = (meal_cost *tip_percent)/100 var tax = (meal_cost *tax_percent)/100 var totalCost = (t

我试图使用
roundToInt()
将双精度值转换为四舍五入整数,但我得到了
未解析的引用
异常

我正在经历官方的考验,但仍然没有运气

代码:

fun solve(meal_cost: Double, tip_percent: Int, tax_percent: Int): Unit {
    var tip = (meal_cost *tip_percent)/100
    var tax = (meal_cost *tax_percent)/100
    var totalCost = (tip+tax+meal_cost).roundToInt()

    System.out.println("The total cost is "+totalCost+".")
}
Solution.kt:25:41: error: unresolved reference: roundToInt
var totalCost = (tip+tax+meal_cost).roundToInt()
                                    ^   
编辑1:

fun solve(meal_cost: Double, tip_percent: Int, tax_percent: Int): Unit {
    var tip = (meal_cost *tip_percent)/100
    var tax = (meal_cost *tax_percent)/100
    var totalCost = (tip+tax+meal_cost).roundToInt()

    System.out.println("The total cost is "+totalCost+".")
}
Solution.kt:25:41: error: unresolved reference: roundToInt
var totalCost = (tip+tax+meal_cost).roundToInt()
                                    ^   
错误日志:

fun solve(meal_cost: Double, tip_percent: Int, tax_percent: Int): Unit {
    var tip = (meal_cost *tip_percent)/100
    var tax = (meal_cost *tax_percent)/100
    var totalCost = (tip+tax+meal_cost).roundToInt()

    System.out.println("The total cost is "+totalCost+".")
}
Solution.kt:25:41: error: unresolved reference: roundToInt
var totalCost = (tip+tax+meal_cost).roundToInt()
                                    ^   

您需要导入此函数

import kotlin.math.roundToInt

roundToInt()
是由
math
包提供的一个扩展函数,而不是
Double
的成员函数,因为
餐费
旅行百分比
税收百分比
也是整数。这意味着
totalCost
的类型为
Int
<未为
Int
定义code>roundToInt()

将您的
/100
更改为
/100.0
,以便除以一个双精度数,结果也将变成一个双精度数

var tip = (meal_cost *tip_percent)/100.0 // divide by double to make the result a double
var tax = (meal_cost *tax_percent)/100.0
var totalCost = (tip+tax+meal_cost).roundToInt() //Works now.
System.out.println("The total cost is "+totalCost+".") 

餐费、小费和税金的百分比是什么?如果它们是
Int
小费和税金也是
Int
。试一试
/100.0
餐费双变量平均成本是双变量