Kotlin数学与Math

Mar*_*sha 3 kotlin

我已经阅读了什么是Kotlin指数运算符,并尝试通过在Android Studio REPL Kotlin模式下编写val t1 = 23.0然后遵循它的答案,print (t1!!.pow(4.9))并得到第二个错误:未解决的参考:pow。通过搜索Kotlin幂函数在其他地方找到的代码可以正常工作print (Math.pow(t1,4.0))。我很困惑,但是发现发布了一个未解决的参考资料:使用Kotlin在Eclipse中创建战俘,然后当我import kotlin.math.pow下次print (t1.pow(4.9))开始提供一个数字时。我还指出import kotlin.Math.pow错误:未解决的参考资料:Math,所以
1.为什么选择M ath.pow但要导入kotlin。吗?
2.我可以使用扩展功能poww / out导入REPL之类的东西t1.math.pow(2.3)(因为它给出了错误:无法解析的参考:数学

Rob*_*sen 5

使用时 Math.pow(10.0, 2.0)

println(Math.pow(10.0, 2.0)) // "100.0"
Run Code Online (Sandbox Code Playgroud)

Mathjava.lang.Math类。

您可以通过致电验证

println(Math::class) // "java.lang.Math"
Run Code Online (Sandbox Code Playgroud)

在这种情况下,java.lang由于默认情况下会导入软件包,因此无需导入任何内容。


使用时 10.0.pow(2)

println(10.0.pow(2)) // "100.0"
Run Code Online (Sandbox Code Playgroud)

pow指的是fun Double.pow(x: Double): DoubleKotlin扩展功能,需要从以下位置显式导入kotlin.math.pow

import kotlin.math.pow
Run Code Online (Sandbox Code Playgroud)