我想在EditText框中输入一个数值。 InputType指定为“ numberDecimal | numberSigned”。我发现有效的代码是:
mLatitude = txtLatitude.text.toString().toDouble()
这似乎不必要地令人费解。真的有必要先转换为字符串然后转换为双精度吗?有没有更简单的方法?
Double.parseDouble()将不接受txtLatitude.text返回的Editable。
如果需要,您可以创建自己的扩展名
fun Editable.toDouble() = toString().toDouble()
fun test() {
mLatitude = txtLatitude.text.toDouble()
}
没有其他方法。为了方便起见,您可以在EditText
上创建扩展功能:
fun EditText.getDouble() = text.toString().toDouble()
并像这样使用它:
val latitude = editText.getDouble()