我是靠谱客的博主 秀丽高山,最近开发中收集的这篇文章主要介绍Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入工具类,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
工具类
package ……;
import java.math.BigDecimal;
/**
* Created by kongqw on 2015/12/10.
*/
public final class BigDecimalUtil {
private BigDecimalUtil() {
}
/**
* 加法运算
*
* @param d1 d1
* @param d2 d2
* @return
*/
public static double add(double d1, double d2) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.add(b2).doubleValue();
}
/**
* 减法运算
*
* @param d1 d1
* @param d2 d2
* @return
*/
public static double sub(double d1, double d2) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.subtract(b2).doubleValue();
}
/**
* 乘法运算
*
* @param d1 d1
* @param d2 d2
* @return
*/
public static double mul(double d1, double d2) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.multiply(b2).doubleValue();
}
/**
* 除法运算
*
* @param d1 被除数
* @param d2 除数
* @param len 保留几位有效小数
* @return
*/
public static double div(double d1, double d2, int len) {
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
// BigDecimal.ROUND_HALF_UP 舍入模式
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 四舍五入操作
*
* @param d 要操作的数
* @param len 保留几位有效数字
* @return
*/
public static double round(double d, int len) {
BigDecimal b1 = new BigDecimal(d);
BigDecimal b2 = new BigDecimal(1);
// 任何一个数字除以1都是原数字
// ROUND_HALF_UP是BigDecimal的一个常量,表示进行四舍五入的操作
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
最后
以上就是秀丽高山为你收集整理的Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入工具类的全部内容,希望文章能够帮你解决Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入工具类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复