diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/NumberToList.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/NumberToList.java index be6d1a263..fb8c48c99 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/NumberToList.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/NumberToList.java @@ -13,6 +13,7 @@ public class NumberToList { } long ret = (long) (number*100); boolean flag = false; + boolean clear = false; for (String s : str) { switch (s) { @@ -24,99 +25,122 @@ public class NumberToList { break; case "jiao": if (flag){ - if (ret < 100) { - map.put(s + level, "¥"); - flag = true; - } else { + if (clear) { map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; } } else { - map.put(s + level, String.valueOf((ret/10)%10)); + if (ret < 100) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 10) % 10)); } break; case "yuan": - if (flag) { - if (ret < 1000) { - map.put(s + level, "¥"); - flag = true; - } else { + if (flag){ + if (clear) { map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; } } else { - map.put(s + level, String.valueOf((ret/100)%10)); + if (ret < 1000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 100) % 10)); } break; case "shi": - if (flag) { - if (ret < 10000) { - map.put(s + level, "¥"); - flag = true; - } else { + if (flag){ + if (clear) { map.put(s + level, " "); - flag = true; + } else { + map.put(s + level, "¥"); + clear = true; } } else { - map.put(s + level, String.valueOf((ret/1000)%10)); + if (ret < 10000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 1000) % 10)); } break; case "bai": - if (flag) { - if (ret < 100000) { - map.put(s + level, "¥"); - flag = true; - } else { + if (flag){ + if (clear) { map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; } } else { - map.put(s + level, String.valueOf((ret/10000)%10)); + if (ret < 100000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 10000) % 10)); } break; case "qian": - if (flag) { - if (ret < 1000000) { - map.put(s + level, "¥"); - flag = true; - } else { + if (flag){ + if (clear) { map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; } } else { - map.put(s + level, String.valueOf((ret/100000)%10)); + if (ret < 1000000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 100000) % 10)); } break; case "wan": - if (flag) { - if (ret < 10000000) { - map.put(s + level, "¥"); - flag = true; - } else { + if (flag){ + if (clear) { map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; } } else { - map.put(s +level, String.valueOf((ret/1000000)%10)); + if (ret < 10000000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 1000000) % 10)); } break; case "shiwan": - if (flag) { - if (ret < 100000000) { - map.put(s + level, "¥"); - flag = true; - } else { + if (flag){ + if (clear) { map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; } } else { - map.put(s + level, String.valueOf((ret/10000000)%10)); + if (ret < 100000000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 10000000) % 10)); } break; case "baiwan": - if (flag) { - if (ret < 1000000000) { - map.put(s + level, "¥"); - flag = true; - } else { + if (flag){ + if (clear) { map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; } } else { - map.put(s + level, String.valueOf((ret/100000000)%10)); + if (ret < 1000000000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 100000000) % 10)); } break; default: