Double类型加减乘除运算
public class MathDoubleUtil {
private static final int DEF_DIV_SCALE = 10;
/**
* 格式化,double保留两位⼩数
* @param d2
* @return
*/
public static String format(Double d2) {
try {
return doubleFormat.format(d2);
}catch (Exception e){
}
return d2+"";
}
/**
* 格式化,double保留两位⼩数
* @param price
* @return
*/
public static String formatDouble(double price){
BigDecimal b = new BigDecimal(price);
return  b.setScale(2, BigDecimal.ROUND_HALF_UP) + "";
}
/**
* * 两个Double数相加 *
*
* @param v1 *
* @param v2 *
* @return Double
*/
bigdecimal格式化两位小数public static Double add(Double v1, Double v2) {
BigDecimal b1 = new String());
BigDecimal b2 = new String());
return new Double(b1.add(b2).doubleValue());
}
/**
* * 两个Double数相减 *
*
* @param v1 *
* @param v2 *
* @return Double
*/
public static Double sub(Double v1, Double v2) {
BigDecimal b1 = new String());
BigDecimal b2 = new String());
return new Double(b1.subtract(b2).doubleValue());
}
/**
* * 两个Double数相乘 *
*
* @param v1 *
* @param v2 *
* @return Double
*/
public static Double mul(Double v1, Double v2) {
BigDecimal b1 = new String());
BigDecimal b2 = new String());
return new Double(b1.multiply(b2).doubleValue());
return new Double(b1.multiply(b2).doubleValue());
}
/**
* * 两个Double数相除 *
*
* @param v1 *
* @param v2 *
* @return Double
*/
public static Double div(Double v1, Double v2) {
BigDecimal b1 = new String());
BigDecimal b2 = new String());
return new Double(b1.divide(b2, DEF_DIV_SCALE, BigDecimal.ROUND_HALF_UP)
.doubleValue());
}
/**
* * 两个Double数相除,并保留scale位⼩数 *
*
* @param v1    *
* @param v2    *
* @param scale *
* @return Double
*/
public static Double div(Double v1, Double v2, int scale) {
if (scale < 0) {
throw new IllegalArgumentException(
"The scale must be a positive integer or kf_zero");
}
BigDecimal b1 = new String());
BigDecimal b2 = new String());
return new Double(b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue());    }
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。