From c635d78b479510ebe2556a420948effcd30a0731 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 21 十二月 2024 18:40:43 +0800 Subject: [PATCH] 新建德森项目分支 --- zy-asrs-framework/src/main/java/com/zy/asrs/framework/common/Arith.java | 240 ++++++++++++++++++++++++++++++------------------------------ 1 files changed, 120 insertions(+), 120 deletions(-) diff --git a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/common/Arith.java b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/common/Arith.java index c252c65..1172f71 100644 --- a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/common/Arith.java +++ b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/common/Arith.java @@ -1,120 +1,120 @@ -package com.zy.asrs.framework.common; - -import java.math.BigDecimal; -import java.math.RoundingMode; - -/** - * 鍥涘垯杩愮畻 - * Created by vincent on 2019-04-15 - */ -public class Arith { - - /** - * 鍔犳硶 - * @param dot 淇濈暀灏忔暟鐐� - * @param numbers 鏁板瓧绫诲瀷 - */ - public static double add(int dot, Number... numbers) { - return getAirth(dot, ArithType.ADD.getValue(), numbers); - } - - /** - * 鍑忔硶 - * @param dot 淇濈暀灏忔暟鐐� - * @param numbers 绗竴涓槸琚噺鏁� - */ - public static double subtract(int dot, Number... numbers) { - return getAirth(dot, ArithType.SUBTRACT.getValue(), numbers); - } - - /** - * 涔樻硶 - * @param dot 淇濈暀灏忔暟鐐� - * @param numbers 涔樻硶鐨勫洜瀛� - */ - public static double multiplys(int dot, Number... numbers) { - return getAirth(dot, ArithType.MULTIPLY.getValue(), numbers); - } - - /** - * 闄ゆ硶 - * @param dot 淇濈暀灏忔暟鐐� - * @param numbers 闄ゆ暟锛岀涓�涓槸闄ゆ暟 - */ - public static double divides(int dot, Number... numbers) { - return getAirth(dot, ArithType.DIVIDE.getValue(), numbers); - } - - /** - * 鑾峰彇鐧惧垎姣� - * @param numbers 闄ゆ暟锛岀涓�涓槸闄ゆ暟 - * @return 鐧惧垎鏁� * 100 - */ - public static int percentage(Number... numbers){ - return (int) (divides(2,numbers) * 100); - } - - /** - * 浣欐暟 - * @param numbers - * @return - */ - public static double remainder(Number... numbers){ - return new BigDecimal(numbers[0].toString()).remainder(new BigDecimal(String.valueOf(numbers[1]))).doubleValue(); - } - - /** - * 缁煎悎鐨勮繍绠� - * @param dot 淇濈暀绮惧害 - * @param arithType 杩愮畻鐨勭被鍨� - * @param numbers 闇�瑕佽繍绠楃殑鏁板瓧 - */ - private static double getAirth(int dot, int arithType, Number... numbers) { - if (numbers == null || numbers.length == 0) { - return 0.0; - } - BigDecimal bigDecimal = new BigDecimal(numbers[0].toString()); - for (int i = 1; i < numbers.length; i++) { - switch (arithType) { - case 0: - bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(numbers[i]))); - - break; - case 1: - bigDecimal = bigDecimal.divide(new BigDecimal(String.valueOf(numbers[i])), dot, RoundingMode.HALF_UP); - break; - case 2: - bigDecimal = bigDecimal.subtract(new BigDecimal(String.valueOf(numbers[i]))); - break; - case 3: - bigDecimal = bigDecimal.multiply(new BigDecimal(String.valueOf(numbers[i]))); - break; - default: - return 0.00; - } - } - return bigDecimal.setScale(dot, RoundingMode.HALF_UP).doubleValue(); - } - - - /** - * 杩愮畻鐨勭被鍨� - */ - private enum ArithType { - ADD("add", 0), - DIVIDE("divide", 1), - SUBTRACT("subtract", 2), - MULTIPLY("multiply", 3); - @SuppressWarnings("unused") - private String key; - private int value; - ArithType(String key, int value) { - this.key = key; - this.value = value; - } - public int getValue() { - return value; - } - } - -} +package com.zy.asrs.framework.common; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +/** + * 鍥涘垯杩愮畻 + * Created by vincent on 2019-04-15 + */ +public class Arith { + + /** + * 鍔犳硶 + * @param dot 淇濈暀灏忔暟鐐� + * @param numbers 鏁板瓧绫诲瀷 + */ + public static double add(int dot, Number... numbers) { + return getAirth(dot, ArithType.ADD.getValue(), numbers); + } + + /** + * 鍑忔硶 + * @param dot 淇濈暀灏忔暟鐐� + * @param numbers 绗竴涓槸琚噺鏁� + */ + public static double subtract(int dot, Number... numbers) { + return getAirth(dot, ArithType.SUBTRACT.getValue(), numbers); + } + + /** + * 涔樻硶 + * @param dot 淇濈暀灏忔暟鐐� + * @param numbers 涔樻硶鐨勫洜瀛� + */ + public static double multiplys(int dot, Number... numbers) { + return getAirth(dot, ArithType.MULTIPLY.getValue(), numbers); + } + + /** + * 闄ゆ硶 + * @param dot 淇濈暀灏忔暟鐐� + * @param numbers 闄ゆ暟锛岀涓�涓槸闄ゆ暟 + */ + public static double divides(int dot, Number... numbers) { + return getAirth(dot, ArithType.DIVIDE.getValue(), numbers); + } + + /** + * 鑾峰彇鐧惧垎姣� + * @param numbers 闄ゆ暟锛岀涓�涓槸闄ゆ暟 + * @return 鐧惧垎鏁� * 100 + */ + public static int percentage(Number... numbers){ + return (int) (divides(2,numbers) * 100); + } + + /** + * 浣欐暟 + * @param numbers + * @return + */ + public static double remainder(Number... numbers){ + return new BigDecimal(numbers[0].toString()).remainder(new BigDecimal(String.valueOf(numbers[1]))).doubleValue(); + } + + /** + * 缁煎悎鐨勮繍绠� + * @param dot 淇濈暀绮惧害 + * @param arithType 杩愮畻鐨勭被鍨� + * @param numbers 闇�瑕佽繍绠楃殑鏁板瓧 + */ + private static double getAirth(int dot, int arithType, Number... numbers) { + if (numbers == null || numbers.length == 0) { + return 0.0; + } + BigDecimal bigDecimal = new BigDecimal(numbers[0].toString()); + for (int i = 1; i < numbers.length; i++) { + switch (arithType) { + case 0: + bigDecimal = bigDecimal.add(new BigDecimal(String.valueOf(numbers[i]))); + + break; + case 1: + bigDecimal = bigDecimal.divide(new BigDecimal(String.valueOf(numbers[i])), dot, RoundingMode.HALF_UP); + break; + case 2: + bigDecimal = bigDecimal.subtract(new BigDecimal(String.valueOf(numbers[i]))); + break; + case 3: + bigDecimal = bigDecimal.multiply(new BigDecimal(String.valueOf(numbers[i]))); + break; + default: + return 0.00; + } + } + return bigDecimal.setScale(dot, RoundingMode.HALF_UP).doubleValue(); + } + + + /** + * 杩愮畻鐨勭被鍨� + */ + private enum ArithType { + ADD("add", 0), + DIVIDE("divide", 1), + SUBTRACT("subtract", 2), + MULTIPLY("multiply", 3); + @SuppressWarnings("unused") + private String key; + private int value; + ArithType(String key, int value) { + this.key = key; + this.value = value; + } + public int getValue() { + return value; + } + } + +} -- Gitblit v1.9.1