- 介绍
- 方法
- add(double v1, double v2) : double
- add(String v1, String v2) : String
- subtract(double v1, double v2) : double
- subtract(String v1, String v2) : String
- multiply(double v1, double v2) : double
- multiply(String v1, String v2) : String
- divide(double v1, double v2) : double
- divide(double v1, double v2, int scale) : double
- divide(String v1, String v2, int scale, int round_mode) : String
- divide(String v1, String v2) : String
- divide(String v1, String v2,int scale) : String
- round(double v, int scale) : double
- round(double v, int scale, int round_mode): String
- getV(double k,double a1 ,double a2,double c1,double c2,int scale) : double
- 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
介绍
数学运算的扩展功能类
方法
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 = 1;
double 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
计算结果
注意