Android 从EditText获取双精度值

Android 从EditText获取双精度值,android,kotlin,android-edittext,Android,Kotlin,Android Edittext,我想在编辑文本框中输入一个数值。输入类型指定为numberdCIMAL | numberSigned。我发现有效的代码是: mLatitude=txtLatitude.text.toString.toDouble 这似乎不必要地令人费解。真的有必要先转换为字符串,然后再转换为双精度吗?有更简单的方法吗?Double.parseDouble不接受txtlatite.text返回的可编辑内容 如果需要,您可以创建自己的扩展 fun Editable.toDouble() = toString().t

我想在编辑文本框中输入一个数值。输入类型指定为numberdCIMAL | numberSigned。我发现有效的代码是:

mLatitude=txtLatitude.text.toString.toDouble


这似乎不必要地令人费解。真的有必要先转换为字符串,然后再转换为双精度吗?有更简单的方法吗?

Double.parseDouble不接受txtlatite.text返回的可编辑内容

如果需要,您可以创建自己的扩展

fun Editable.toDouble() = toString().toDouble()

fun test() {
    mLatitude = txtLatitude.text.toDouble()
}

Double.parseDouble将不接受txtLatitude.text返回的可编辑项

如果需要,您可以创建自己的扩展

fun Editable.toDouble() = toString().toDouble()

fun test() {
    mLatitude = txtLatitude.text.toDouble()
}

没有别的办法了。为方便起见,您可以在EditText上创建扩展函数:

然后像这样使用它:

val latitude = editText.getDouble()

没有别的办法了。为方便起见,您可以在EditText上创建扩展函数:

然后像这样使用它:

val latitude = editText.getDouble()

我投票支持你,因为你是第一个发帖的人,你有权成为被接受的答案。试一试也有道理,因为你是第一个发帖的人,你有权成为被接受的答案。一个try-catch块也有意义