我有一个 firebase 实时数据库,具有以下简单的方案:
如果我在 kotlin 中获取数据库:
val result = it.value as MutableMap<String, Any>
Run Code Online (Sandbox Code Playgroud)
当我尝试获取价格1时
var price1 = result["price1"] as Long
price1 = price1 + 1
Run Code Online (Sandbox Code Playgroud)
(PRICE1 可以是 Double 或 Int)问题是,如果价格 1 是 5.5,显然应用程序会被杀死,但如果价格 1 是 5,则完美运行。
迅速地,我每次都输入 Double 并且它永远不会出现问题
我发现必须检查它是双精度数还是不带逗号的整数才能进行求和有点愚蠢
// im doing this at the moment
var price1 = result["price1"].toString()
if (price1.contains(".")){
println(price1.toDouble() + 1)
}else{
println(price1.toInt() + 1)
}
Run Code Online (Sandbox Code Playgroud)
还有其他简单的方法吗?感谢大家