错误:未解决的参考:roundToInt

时间:2018-08-02 05:26:31

标签: kotlin

我正在尝试使用Fragment将双精度值转换为四舍五入的整数,但是却遇到了roundToInt()异常。

我正在经历官方documentation of Kottlin仍然没有运气。

代码:

编辑1:

Unresolved Reference

错误日志:

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+".")
}

2 个答案:

答案 0 :(得分:2)

您需要导入此功能。

import kotlin.math.roundToInt

roundToInt()math包提供的扩展功能,而不是Double的成员功能。

答案 1 :(得分:0)

由于meal_costtrip_percenttax_percent是整数tiptax也是整数。这意味着totalCost的类型为Int。未为roundToInt()定义Int

将您的/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+".")