|
@@ -1,6 +1,7 @@
|
|
|
package com.incubator.common.util;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
|
|
|
public final class AmountUtil {
|
|
|
|
|
@@ -24,8 +25,8 @@ public final class AmountUtil {
|
|
|
/**
|
|
|
* 减法运算
|
|
|
*
|
|
|
- * @param v1被减数
|
|
|
- * @param v2减数
|
|
|
+ * @param v1 被减数
|
|
|
+ * @param v2 减数
|
|
|
* @return
|
|
|
*/
|
|
|
public static double sub(double v1, double v2) {
|
|
@@ -37,8 +38,8 @@ public final class AmountUtil {
|
|
|
/**
|
|
|
* 乘法运算
|
|
|
*
|
|
|
- * @param v1被乘数
|
|
|
- * @param v2乘数
|
|
|
+ * @param v1 被乘数
|
|
|
+ * @param v2 乘数
|
|
|
* @return
|
|
|
*/
|
|
|
public static double mul(double v1, double v2) {
|
|
@@ -51,8 +52,8 @@ public final class AmountUtil {
|
|
|
*
|
|
|
* 除法运算,当发生除不尽的情况时,精确到小数点以后2位,以后的数字四舍五入
|
|
|
*
|
|
|
- * @param v1被除数
|
|
|
- * @param v2除数
|
|
|
+ * @param v1 被除数
|
|
|
+ * @param v2 除数
|
|
|
* @return
|
|
|
*/
|
|
|
public static double div(double v1, double v2) {
|
|
@@ -63,9 +64,9 @@ public final class AmountUtil {
|
|
|
*
|
|
|
* 除法运算,当发生除不尽的情况时,由scale参数指定精度,以后的数字四舍五入
|
|
|
*
|
|
|
- * @param v1被除数
|
|
|
- * @param v2除数
|
|
|
- * @param scale精确到小数点以后几位
|
|
|
+ * @param v1 被除数
|
|
|
+ * @param v2 除数
|
|
|
+ * @param scale 精确到小数点以后几位
|
|
|
* @return
|
|
|
*/
|
|
|
public static double div(double v1, double v2, int scale) {
|
|
@@ -75,15 +76,15 @@ public final class AmountUtil {
|
|
|
}
|
|
|
BigDecimal b1 = new BigDecimal(Double.toString(v1));
|
|
|
BigDecimal b2 = new BigDecimal(Double.toString(v2));
|
|
|
- return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
+ return b1.divide(b2, scale, RoundingMode.HALF_UP).doubleValue();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* 四舍五入
|
|
|
*
|
|
|
- * @param v需要四舍五入的数字
|
|
|
- * @param scale小数点后保留几位
|
|
|
+ * @param v 需要四舍五入的数字
|
|
|
+ * @param scale 小数点后保留几位
|
|
|
* @return
|
|
|
*/
|
|
|
public static double round(double v, int scale) {
|
|
@@ -92,7 +93,7 @@ public final class AmountUtil {
|
|
|
}
|
|
|
BigDecimal b = new BigDecimal(Double.toString(v));
|
|
|
BigDecimal one = new BigDecimal("1");
|
|
|
- return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
+ return b.divide(one, scale, RoundingMode.HALF_UP).doubleValue();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -105,11 +106,8 @@ public final class AmountUtil {
|
|
|
public static boolean equal(double a, double b) {
|
|
|
BigDecimal v1 = BigDecimal.valueOf(a);
|
|
|
BigDecimal v2 = BigDecimal.valueOf(b);
|
|
|
- if (v1.compareTo(v2) == 0) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
+ return v1.compareTo(v2) == 0;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 判断 a 是否大于等于 b
|
|
@@ -121,11 +119,8 @@ public final class AmountUtil {
|
|
|
public static boolean greaterThanOrEqualTo(double a, double b) {
|
|
|
BigDecimal v1 = BigDecimal.valueOf(a);
|
|
|
BigDecimal v2 = BigDecimal.valueOf(b);
|
|
|
- if (v1.compareTo(v2) >= 0) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
+ return v1.compareTo(v2) >= 0;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 判断 a 是否大于 b
|
|
@@ -137,11 +132,8 @@ public final class AmountUtil {
|
|
|
public static boolean bigger(double a, double b) {
|
|
|
BigDecimal v1 = BigDecimal.valueOf(a);
|
|
|
BigDecimal v2 = BigDecimal.valueOf(b);
|
|
|
- if (v1.compareTo(v2) == 1) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
+ return v1.compareTo(v2) == 1;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 判断 a 是否小于 b
|
|
@@ -153,11 +145,8 @@ public final class AmountUtil {
|
|
|
public static boolean lessThan(double a, double b) {
|
|
|
BigDecimal v1 = BigDecimal.valueOf(a);
|
|
|
BigDecimal v2 = BigDecimal.valueOf(b);
|
|
|
- if (v1.compareTo(v2) == -1) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
+ return v1.compareTo(v2) == -1;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 四舍五入保留小数点后两位
|
|
@@ -166,7 +155,7 @@ public final class AmountUtil {
|
|
|
* @return
|
|
|
*/
|
|
|
public static double roundDown(double num) {
|
|
|
- return Double.valueOf(String.format("%.2f", num));
|
|
|
+ return Double.parseDouble(String.format("%.2f", num));
|
|
|
}
|
|
|
|
|
|
}
|