介绍

数学运算的扩展功能类

方法

add(double v1, double v2) : double

求和,提供精确的加法运算。

  • 参数说明:Object
参数名 类型 必填 默认值 说明
v1 double 数值1
v2 double 数值2
  • 返回数据说明:double

    两个参数的和

  • 示例:

    double qtSum = 0;
    double xj = Double.parseDouble(StringUtil.getDefaultValue(val.get("销售金额"), "0"));
    qtSum = MathExtend.add(qtSum, xj);
  • 注意

add(String v1, String v2) : String

两个参数数学加和,以字符串格式返回

  • 参数说明
参数名 类型 必填 默认值 说明
v1 String 数值1
v2 String 数值2
  • 返回数据说明:Stirng

    两个参数数学加和

  • 示例:

String sum = "0";
sum = MathExtend.add(sum, bean.getStr("RECORD_PURCHASE_AMOUNT"));
  • 注意

subtract(double v1, double v2) : double

两个参数的差

  • 参数说明
参数名 类型 必填 默认值 说明
v1 double 数值1
v2 double 数值2
  • 返回数据说明:double

    两个参数的差

  • 示例:

double money = 1double yhqPrice=yhq.getDouble("PCODE_YHL", 0);
money=MathExtend.subtract(money, yhqPrice);
  • 注意

subtract(String v1, String v2) : String

两个参数数学差,以字符串格式返回

  • 参数说明
参数名 类型 必填 默认值 说明
v1 String 数值1
v2 String 数值2
  • 返回数据说明:Stirng

    两个参数数学差

  • 示例:

String sum = "0";
sum = MathExtend.subtract('123', '343');
  • 注意

multiply(double v1, double v2) : double

两个参数的积

  • 参数说明:Object
参数名 类型 必填 默认值 说明
v1 double 数值1
v2 double 数值2
  • 返回数据说明:double

    两个参数的积

  • 示例:

    double money=MathExtend.multiply(order.getDouble("ORDER_MONEY",0.0),100);//这里吧价格值修改成0.01
  • 注意

multiply(String v1, String v2) : String

两个参数的数学积,以字符串格式返回

  • 参数说明
参数名 类型 必填 默认值 说明
v1 String 数值1
v2 String 数值2
  • 返回数据说明:Stirng

    两个参数的数学积,以字符串格式返回

  • 示例:

String sum = "0";
sum = MathExtend.multiply('12', '2');
  • 注意

divide(double v1, double v2) : double

两个参数的商,提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 小数点以后10位,以后的数字四舍五入,舍入模式采用ROUND_HALF_EVEN

  • 参数说明:Object
参数名 类型 必填 默认值 说明
v1 double 数值1
v2 double 数值2
  • 返回数据说明:double

    两个参数的商

  • 示例:

     double ka1 = MathExtend.subtract(k,a1);
     double a2a1 = MathExtend.subtract(a2,a1);
     MathExtend.divide(ka1, a2a1)
  • 注意

divide(double v1, double v2, int scale) : double

提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 定精度,以后的数字四舍五入。舍入模式采用ROUND_HALF_EVEN

  • 参数说明:Object
参数名 类型 必填 默认值 说明
v1 double 数值1
v2 double 数值2
scale int 表示需要精确到小数点以后几位
  • 返回数据说明:double

    两个参数的商

  • 示例:

     double ka1 = MathExtend.subtract(k,a1);
     double a2a1 = MathExtend.subtract(a2,a1);
     MathExtend.divide(ka1, a2a1,3)
  • 注意

divide(String v1, String v2, int scale, int round_mode) : String

提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 定精度,以后的数字四舍五入。舍入模式采用用户指定舍入模式

  • 参数说明
参数名 类型 必填 默认值 说明
v1 String 数值1
v2 String 数值2
scale int 表示需要精确到小数点以后几位
round_mode int 表示用户指定的舍入模式
  • 返回数据说明:Stirng

    两个参数的商,以字符串格式返回

  • 示例:

divide(v1, v2, 3, BigDecimal.ROUND_HALF_EVEN)
  • 注意

divide(String v1, String v2) : String

两个参数的商,以字符串格式返回

  • 参数说明
参数名 类型 必填 默认值 说明
v1 String 数值1
v2 String 数值2
  • 返回数据说明:Stirng

    两个参数的商,以字符串格式返回

  • 示例:

String sum = "0";
sum = MathExtend.divide('12', '2');
  • 注意

divide(String v1, String v2,int scale) : String

两个参数的商,以字符串格式返回

  • 参数说明
参数名 类型 必填 默认值 说明
v1 String 数值1
v2 String 数值2
scale int 表示需要精确到小数点以后几位
  • 返回数据说明:Stirng

    两个参数的商,以字符串格式返回

  • 示例:

String sum = "0";
sum = MathExtend.divide('12', '2',3);
  • 注意

round(double v, int scale) : double

提供精确的小数位四舍五入处理,舍入模式采用ROUND_HALF_EVEN

  • 参数说明
参数名 类型 必填 默认值 说明
v double 需要四舍五入的数字
scale int 小数点后保留几位
  • 返回数据说明:double

    四舍五入后的结果

  • 示例:

   double ka1 = '121.232323';
   MathExtend.round(ka1, .3)
  • 注意

round(double v, int scale, int round_mode): String

提供精确的小数位四舍五入处理

  • 参数说明
参数名 类型 必填 默认值 说明
v double 需要四舍五入的数字
scale int 小数点后保留几位
round_mode int 指定的舍入模式
  • 返回数据说明:String

    四舍五入后的结果,以字符串格式返回

  • 示例:

   double ka1 = '121.232323';
   MathExtend.round(ka1, 3,BigDecimal.ROUND_HALF_EVEN)
  • 注意

getV(double k,double a1 ,double a2,double c1,double c2,int scale) : double

单差值算法

  • 参数说明:Object
参数名 类型 必填 默认值 说明
k double 视值
a1 double k的下线
a2 double k的上线
c1 double 值的下线
c2 double 值的上线
scale int 表示需要精确到小数点以后几位
  • 返回数据说明:double

    计算结果

  • 示例:

    // 算a 对 b_x 单差
    double a_b_x = getV(a, a_x, a_s, a_x_b_x, a_s_b_x,scale);
  • 注意

getV(double a ,double b,double a_s ,double a_x,double b_s,double b_x, double a_x_b_x,double a_x_b_s,double a_s_b_x , double a_s_b_s,int scale) : double

双差值算法

  • 参数说明:Object
参数名 类型 必填 默认值 说明
a double 视值 1
b double 视值 2
a_s double 第一个视值上线
a_x double 第一个视值下线
b_s double 第二个视值上线
b_x double 第二个视值下线
a_x_b_x double 第一个视值 _ 下线 _ 第二个视值 _ 下线 的真是值
a_x_b_s double 第一个视值 _ 下线 _ 第二个视值 _ 上线 的真是值
a_s_b_x double 第一个视值 _ 上线 _ 第二个视值 _ 下线 的真是值
a_s_b_s double 第一个视值 _ 上线 _ 第二个视值 _ 上线 的真是值
scale int 表示需要精确到小数点以后几位
  • 返回数据说明:double

    计算结果

  • 注意

最后编辑: 肖海杰  文档更新时间: 2023-04-26 08:43   作者:刘利军