我必须使用Kotlin在Android上将字符串转换为double.
以下应该在Kotlin中有效,但不是(没有这样的方法):
var dbl = "1.0".toDouble()
Run Code Online (Sandbox Code Playgroud)
以下Javaish方式也不起作用:
var dbl = Double.parseDouble("1.0")
Run Code Online (Sandbox Code Playgroud)
显然,Android上的String类既没有Kotlin API,Double也没有通常的Java API?
是否有任何优雅的方式适用于Android与Kotlin?
现在,我正在使用它(这是有效的,但它很难看):
var dbl = java.lang.Double.parseDouble("1.0")
Run Code Online (Sandbox Code Playgroud)
该项目是使用Android Studio新创建的,使用以下版本:
ext.kotlin_version = '1.1.51'
minSdkVersion 23
targetSdkVersion 26
Run Code Online (Sandbox Code Playgroud)
我认为这是Android API和Kotlin API之间的一些不匹配.
方法就在那里,它不应该给你no方法异常.
尝试干净的Android版本.Kotlin的问题跟踪器上存在一个错误,即Gradle构建任务没有完全定义所有正确需要干净构建的内容.这已经针对最新版本的Kotlin进行了修复.
我要遵循的几个步骤来尝试解决此问题:
1.1.60.4.3.1和Android插件3.0.0.gradle和.idea文件夹),并将您的项目重新导入Android Studio,然后重试.方法肯定存在,我可以使用它.
作为一种简单地让你再次移动并取消阻止你的方法,如果上述方法不起作用,你可以自己将以下功能添加到你的应用程序中,它应该也能正常工作:
public inline fun String.toDouble(): Double = java.lang.Double.parseDouble(this)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8133 次 |
| 最近记录: |