whycxzp
2021-03-23 36962db0d42b8d9057edcf1baffdc70687489660
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.whyc.util;
 
import java.math.BigDecimal;
import java.math.RoundingMode;
 
/**
 * 计算工具类
 */
public class MathUtil {
 
    /**
     * 提取公共方法,相除获取比例,返回可选String或者Float
     * @param type 1表示小数,2表示除去%的比例,3表示%的比例
     * @return Object String或者Float类型
     * */
    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();
        }
        //0.05
        if(type==1){
            return res;
        }
        //5
        else if(type==2){
            return (int)(res*100);
        }
        //5%
        return (int)(res*100)+"%";
    }
 
}