从EditText获取双精度值

问题描述 投票:0回答:2

我想在EditText框中输入一个数值。 InputType指定为“ numberDecimal | numberSigned”。我发现有效的代码是:

mLatitude = txtLatitude.text.toString().toDouble()

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

android kotlin android-edittext
2个回答
1
投票

Double.parseDouble()将不接受txtLatitude.text返回的Editable。

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

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

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

0
投票

没有其他方法。为了方便起见,您可以在EditText上创建扩展功能:

fun EditText.getDouble() = text.toString().toDouble()

并像这样使用它:

val latitude = editText.getDouble()
© www.soinside.com 2019 - 2024. All rights reserved.