fix(utils): 解决数字转换异常问题
- 修改DecimalAdapter中字符串转double的逻辑,使用安全转换避免崩溃 - 更新PrepareCookActivity中重量验证逻辑,使用安全转换处理无效输入 - 防止因无效数字格式导致的应用崩溃问题
This commit is contained in:
@@ -98,7 +98,7 @@ class PrepareCookActivity : BaseActivity() {
|
|||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val weight = binding.tvDishPartWeight.text.toString().toDouble()
|
val weight = binding.tvDishPartWeight.text.toString().toDoubleOrNull() ?:0.toDouble()
|
||||||
if (weight <= 0.toDouble()) {
|
if (weight <= 0.toDouble()) {
|
||||||
toast("食材用量需要大于0")
|
toast("食材用量需要大于0")
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ class DecimalAdapter : TypeAdapter<Number>() {
|
|||||||
override fun read(reader: JsonReader): Number {
|
override fun read(reader: JsonReader): Number {
|
||||||
return when (reader.peek()) {
|
return when (reader.peek()) {
|
||||||
JsonToken.NUMBER -> reader.nextDouble()
|
JsonToken.NUMBER -> reader.nextDouble()
|
||||||
JsonToken.STRING -> reader.nextString().toDouble()
|
JsonToken.STRING -> reader.nextString().toDoubleOrNull() ?: 0.0
|
||||||
else -> 0.0
|
else -> 0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user