TKaxv-7S / XQuickEnergy

Apache License 2.0
208 stars 12 forks source link

java.lang.NumberFormatException #84

Open Khaos116 opened 3 months ago

Khaos116 commented 3 months ago

程序版本 / 框架版本 / 模块版本

内置插件到APK 芝麻粒版本:1.2.5-test17-TK

系统版本 / Android版本

Android 14

详细描述问题发生的具体原因

String转Double问题,没有排除"再施" pansong291.xposed.quickenergy.task.model.antOrchard.AntOrchard

private static boolean canSpreadManureContinue(String stageBefore, String stageAfter) {
    Double bef = Double.parseDouble(StringUtil.getSubString(stageBefore, "施肥", "%"));
    Double aft = Double.parseDouble(StringUtil.getSubString(stageAfter, "施肥", "%"));
    if (bef - aft != 0.01)
        return true;
    Log.record("施肥只加0.01%进度今日停止施肥!");
    return false;
}

提供模块问题 Log 或必要 Log

19:35:42.274 I/ERROR: AntOrchard, java.lang.NumberFormatException: For input string: "再施91.25" at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054) at jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110) at java.lang.Double.parseDouble(Double.java:660) at pansong291.xposed.quickenergy.task.model.antOrchard.AntOrchard.canSpreadManureContinue(Unknown Source:8)

Khaos116 commented 3 months ago

另外建议把定时的时间设为中国时区的时间,因为默认的时区和中国不一样时,晚上12点和早上7点对应不上: 你看这样设置行不行: calendar.setTimeZone(TimeZone.getTimeZone("GMT+8")); // 设置时区为东八区(北京时间)

TKaxv-7S commented 3 months ago

另外建议把定时的时间设为中国时区的时间,因为默认的时区和中国不一样时,晚上12点和早上7点对应不上: 你看这样设置行不行: calendar.setTimeZone(TimeZone.getTimeZone("GMT+8")); // 设置时区为东八区(北京时间)

谢谢提醒,最近改动太大,忘记处理时区了,不过有很多系统获取到的日历对象时区都是准确的,有些系统可能时区不对,我后面我确认一下有问题就修复,顺便把再施肥问题也修一下,非常感谢你的反馈