Mar*_*del 17 string android kotlin
我正在尝试创建一个在Kotlin中使用字符串的Android计算器.我的问题是如果它已经包含一个逗号(或否定),我该如何删除它.
这是我的代码,它正确添加逗号,但如果用户再次点击则不会删除它:
if (!buClickValue.contains(".")) {
buClickValue += "."
} else {
buClickValue.replace(".", "")
}
}
Run Code Online (Sandbox Code Playgroud)
或者这是我的Github
Ame*_*war 27
该replace()方法旨在String在替换字符后返回new的值.在您的情况下,替换字符后获得的值永远不会重新分配回原始变量.
特别是在你的else子句中,该行应更改为 -
buClickValue = buClickValue.replace(".", "")
Run Code Online (Sandbox Code Playgroud)
Luc*_*ier 10
更合乎逻辑的技术不是更换而是过滤
buClickValue = buClickValue.filterNot { it == "."[0]) }
Run Code Online (Sandbox Code Playgroud)
或者延长
filtered = ".,;:"
buClickValue = buClickValue.filterNot { filtered.indexOf(it) > -1 }
Run Code Online (Sandbox Code Playgroud)