From 1361ea0a2ad73bbf17686bb92122ccc2f4214846 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期二, 28 九月 2021 15:54:54 +0800 Subject: [PATCH] 修复被除数为0报错问题 --- src/main/java/com/whyc/util/MathUtil.java | 28 ++++++++++++++++------------ 1 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/whyc/util/MathUtil.java b/src/main/java/com/whyc/util/MathUtil.java index c164cd1..fde69fe 100644 --- a/src/main/java/com/whyc/util/MathUtil.java +++ b/src/main/java/com/whyc/util/MathUtil.java @@ -15,25 +15,29 @@ * */ public static Object divide(Object num,Object num2,Integer type){ float res = 0; - if(num instanceof Integer) { - res = BigDecimal.valueOf((Integer)num).divide(BigDecimal.valueOf((Integer)num2), 2, RoundingMode.HALF_UP).floatValue(); - } - if(num instanceof Float) { - res = BigDecimal.valueOf((Float)num).divide(BigDecimal.valueOf((Float)num2), 2, RoundingMode.HALF_UP).floatValue(); - } - if(num instanceof Double) { - res = BigDecimal.valueOf((Double)num).divide(BigDecimal.valueOf((Double)num2), 2, RoundingMode.HALF_UP).floatValue(); + double num2Double=Double.parseDouble(num2.toString()); + if(num2Double!=0){ + + if (num instanceof Integer) { + res = BigDecimal.valueOf((Integer) num).divide(BigDecimal.valueOf((Integer) num2), 2, RoundingMode.HALF_UP).floatValue(); + } + if (num instanceof Float) { + res = BigDecimal.valueOf((Float) num).divide(BigDecimal.valueOf((Float) num2), 2, RoundingMode.HALF_UP).floatValue(); + } + if (num instanceof Double) { + res = BigDecimal.valueOf((Double) num).divide(BigDecimal.valueOf((Double) num2), 2, RoundingMode.HALF_UP).floatValue(); + } } //0.05 - if(type==1){ + if (type == 1) { return res; } //5 - else if(type==2){ - return (int)(res*100); + else if (type == 2) { + return (int) (res * 100); } //5% - return (int)(res*100)+"%"; + return (int) (res * 100) + "%"; } } -- Gitblit v1.9.1