Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
Y
yzg-util
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
YZG
yzg-util
Commits
ce574db1
Commit
ce574db1
authored
Jun 17, 2022
by
yanzg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
升级新版本
parent
acef36f1
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
149 additions
and
32 deletions
+149
-32
CalcHelper.java
...src/main/java/com/yanzuoguang/util/helper/CalcHelper.java
+149
-32
No files found.
yzg-util-base/src/main/java/com/yanzuoguang/util/helper/CalcHelper.java
View file @
ce574db1
package
com
.
yanzuoguang
.
util
.
helper
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
/**
* 浮点数计算
...
...
@@ -14,9 +15,9 @@ public class CalcHelper {
/**
* 相加
*
* @param d1
* @param d2
* @return
* @param d1
参数1
* @param d2
参数2
* @return
结果
*/
public
static
double
add
(
double
d1
,
double
d2
)
{
BigDecimal
b1
=
new
BigDecimal
(
Double
.
toString
(
d1
));
...
...
@@ -27,9 +28,20 @@ public class CalcHelper {
/**
* 相加
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
add
(
Double
d1
,
Double
d2
)
{
return
add
(
StringHelper
.
toDouble
(
d1
),
StringHelper
.
toDouble
(
d2
));
}
/**
* 相加
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
addList
(
double
d1
,
double
...
d2
)
{
double
ret
=
d1
;
...
...
@@ -39,12 +51,27 @@ public class CalcHelper {
return
ret
;
}
/**
* 相加
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
addList
(
Double
d1
,
Double
...
d2
)
{
double
ret
=
d1
;
for
(
double
item
:
d2
)
{
ret
=
add
(
ret
,
item
);
}
return
ret
;
}
/**
* 相减
*
* @param d1
* @param d2
* @return
* @param d1
参数1
* @param d2
参数2
* @return
结果
*/
public
static
double
sub
(
double
d1
,
double
d2
)
{
BigDecimal
b1
=
new
BigDecimal
(
Double
.
toString
(
d1
));
...
...
@@ -55,9 +82,20 @@ public class CalcHelper {
/**
* 相减
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
sub
(
Double
d1
,
Double
d2
)
{
return
sub
(
StringHelper
.
toDouble
(
d1
),
StringHelper
.
toDouble
(
d2
));
}
/**
* 相减
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
subList
(
double
d1
,
double
...
d2
)
{
double
ret
=
d1
;
...
...
@@ -67,12 +105,27 @@ public class CalcHelper {
return
ret
;
}
/**
* 相减
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
subList
(
Double
d1
,
Double
...
d2
)
{
double
ret
=
d1
;
for
(
double
item
:
d2
)
{
ret
=
sub
(
ret
,
item
);
}
return
ret
;
}
/**
* 相乘
*
* @param d1
* @param d2
* @return
* @param d1
参数1
* @param d2
参数2
* @return
结果
*/
public
static
double
mul
(
double
d1
,
double
d2
)
{
BigDecimal
b1
=
new
BigDecimal
(
Double
.
toString
(
d1
));
...
...
@@ -83,9 +136,20 @@ public class CalcHelper {
/**
* 相乘
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
mul
(
Double
d1
,
Double
d2
)
{
return
mul
(
StringHelper
.
toDouble
(
d1
),
StringHelper
.
toDouble
(
d2
));
}
/**
* 相乘
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
mulList
(
double
d1
,
double
...
d2
)
{
double
ret
=
d1
;
...
...
@@ -95,12 +159,27 @@ public class CalcHelper {
return
ret
;
}
/**
* 相乘
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
mulList
(
Double
d1
,
Double
...
d2
)
{
double
ret
=
d1
;
for
(
double
item
:
d2
)
{
ret
=
mul
(
ret
,
item
);
}
return
ret
;
}
/**
* 相除
*
* @param d1
* @param d2
* @return
* @param d1
参数1
* @param d2
参数2
* @return
结果
*/
public
static
double
div
(
double
d1
,
double
d2
)
{
return
div
(
d1
,
d2
,
DEF_DIV_SCALE
);
...
...
@@ -109,10 +188,21 @@ public class CalcHelper {
/**
* 相除
*
* @param d1
* @param d2
* @param scale
* @return
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
div
(
Double
d1
,
Double
d2
)
{
return
div
(
StringHelper
.
toDouble
(
d1
),
StringHelper
.
toDouble
(
d2
));
}
/**
* 相除
*
* @param d1 参数1
* @param d2 参数2
* @param scale 保留小数
* @return 结果
*/
public
static
double
div
(
double
d1
,
double
d2
,
int
scale
)
{
if
(
scale
<
0
)
{
...
...
@@ -120,15 +210,27 @@ public class CalcHelper {
}
BigDecimal
b1
=
new
BigDecimal
(
Double
.
toString
(
d1
));
BigDecimal
b2
=
new
BigDecimal
(
Double
.
toString
(
d2
));
return
b1
.
divide
(
b2
,
scale
,
BigDecimal
.
ROUND_
HALF_UP
).
doubleValue
();
return
b1
.
divide
(
b2
,
scale
,
RoundingMode
.
HALF_UP
).
doubleValue
();
}
/**
* 相除
*
* @param d1
* @param d2
* @return
* @param d1 参数1
* @param d2 参数2
* @param scale 保留小数
* @return 结果
*/
public
static
double
div
(
Double
d1
,
Double
d2
,
int
scale
)
{
return
div
(
StringHelper
.
toDouble
(
d1
),
StringHelper
.
toDouble
(
d2
),
scale
);
}
/**
* 相除
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
divList
(
double
d1
,
double
...
d2
)
{
double
ret
=
d1
;
...
...
@@ -138,6 +240,21 @@ public class CalcHelper {
return
ret
;
}
/**
* 相除
*
* @param d1 参数1
* @param d2 参数2
* @return 结果
*/
public
static
double
divList
(
Double
d1
,
Double
...
d2
)
{
double
ret
=
d1
;
for
(
double
item
:
d2
)
{
ret
=
div
(
ret
,
item
);
}
return
ret
;
}
/**
* 转换为金额
...
...
@@ -167,9 +284,9 @@ public class CalcHelper {
/**
* 判断是否相等
*
* @param d1
* @param d2
* @return
* @param d1
参数1
* @param d2
参数2
* @return
结果
*/
public
static
boolean
equals
(
double
d1
,
double
d2
)
{
BigDecimal
b1
=
new
BigDecimal
(
Double
.
toString
(
d1
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment