Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入
来源:互联网 发布:长野原美绪 知乎 编辑:程序博客网 时间:2024/05/01 08:41
工具类
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(); }}
0 0
- Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入
- java四舍五入保留位数
- java代码double保留指定位数
- ios保留指定位数四舍五入
- java数字保留有效位数及异常
- java中使用BigDecimal保留小数位数
- C++ 四舍五入保留有效数字
- 不四舍五入,保留指定小数位数
- Java double类型保留指定位数小数,返回字符串,五舍六入
- Java中double保留指定位数的两种方法
- java保留小数有效位数
- java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定
- java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定
- java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定
- Double类型的数字保留位数问题
- BigDecimal 精度保留RoundingMode
- java如何保留指定精度
- Double 四舍五入保留小数
- Jedis基本应用
- Longest Common Prefix
- Android SDK 国内镜像
- oracle 将表名和字段名变为大写
- SQL 语句
- Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入
- mybatis映射文件语法
- linux常用基本命令
- 各种连接池的使用(c3p0,proxool,DBCP)
- Mysql命令大全
- 关于 getWriter() has already been called for this response 的错误解决办法
- 怎样查看Office2010的安装位置
- NSKeyedArchiver (对象归档)
- android studio的使用说明