Selaa lähdekoodia

优化工具类

johnclot69 3 kuukautta sitten
vanhempi
commit
3c98563e3c

+ 23 - 34
incubator-common/src/main/java/com/incubator/common/util/AmountUtil.java

@@ -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));
 	}
 
 }