fix(utils): 解决数字转换异常问题

- 修改DecimalAdapter中字符串转double的逻辑,使用安全转换避免崩溃
- 更新PrepareCookActivity中重量验证逻辑,使用安全转换处理无效输入
- 防止因无效数字格式导致的应用崩溃问题
This commit is contained in:
2026-05-25 16:08:12 +08:00
parent b08a77fc9d
commit 05c5fe7932
2 changed files with 2 additions and 2 deletions
@@ -98,7 +98,7 @@ class PrepareCookActivity : BaseActivity() {
return@setOnClickListener
}
}
val weight = binding.tvDishPartWeight.text.toString().toDouble()
val weight = binding.tvDishPartWeight.text.toString().toDoubleOrNull() ?:0.toDouble()
if (weight <= 0.toDouble()) {
toast("食材用量需要大于0")
return@setOnClickListener
@@ -14,7 +14,7 @@ class DecimalAdapter : TypeAdapter<Number>() {
override fun read(reader: JsonReader): Number {
return when (reader.peek()) {
JsonToken.NUMBER -> reader.nextDouble()
JsonToken.STRING -> reader.nextString().toDouble()
JsonToken.STRING -> reader.nextString().toDoubleOrNull() ?: 0.0
else -> 0.0
}
}