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;
|
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) {
|
return res;
|
}
|
//5
|
else if (type == 2) {
|
return (int) (res * 100);
|
}
|
//5%
|
return (int) (res * 100) + "%";
|
}
|
|
}
|