Class MathKit

java.lang.Object
org.aoju.bus.core.toolkit.MathKit

public class MathKit extends Object
数学计算 计量标准
Since:
Java 17+
Author:
Kimi Liu
  • Method Summary

    Modifier and Type
    Method
    Description
    static double
    add(double v1, double v2)
    提供精确的加法运算
    static double
    add(double v1, float v2)
    提供精确的加法运算
    static double
    add(float v1, double v2)
    提供精确的加法运算
    static double
    add(float v1, float v2)
    提供精确的加法运算
    static BigDecimal
    add(Number... args)
    提供精确的加法运算 如果传入多个值为null或者空,则返回0
    static BigDecimal
    add(Number v1, Number v2)
    提供精确的加法运算 如果传入多个值为null或者空,则返回0
    static BigDecimal
    add(String... args)
    提供精确的加法运算 如果传入多个值为null或者空,则返回0
    static BigDecimal
    add(BigDecimal... args)
    提供精确的加法运算 如果传入多个值为null或者空,则返回0
    static String
    addZero(Number numObj, int length)
    给数字对象按照指定长度在左侧补0.
    appendRange(int start, int stop, int step, Collection<Integer> values)
    将给定范围内的整数添加到已有集合中
    appendRange(int start, int stop, Collection<Integer> values)
    将给定范围内的整数添加到已有集合中,步进为1
    static long
    arrangeCount(int n)
    计算排列数,即A(n, n) = n!
    static long
    arrangeCount(int n, int m)
    计算排列数,即A(n, m) = n!/(n-m)!
    static List<String[]>
    全排列选择(列表全部参与排列)
    static List<String[]>
    arrangeSelect(String[] datas, int m)
    排列选择(从列表中选择n个排列)
    static int
    binaryToInt(String binaryStr)
    二进制转int
    static long
    binaryToLong(String binaryStr)
    二进制转long
    static double
    calculate(String expression)
    计算数学表达式的值,只支持加减乘除和取余
    static int
    ceilDiv(int v1, int v2)
    补充Math.ceilDiv() JDK8中添加了和Math.floorDiv()但却没有ceilDiv()
    static double
    centToYuan(long cent)
    金额分转换为元
    static long
    combineCount(int n, int m)
    计算组合数,即C(n, m) = n!/((n-m)! * m!)
    static List<String[]>
    combineSelect(String[] datas, int m)
    组合选择(从列表中选择n个组合)
    static int
    compare(byte x, byte y)
    比较两个值的大小
    static int
    compare(char x, char y)
    比较两个值的大小
    static int
    compare(double x, double y)
    比较两个值的大小
    static int
    compare(int x, int y)
    比较两个值的大小
    static int
    compare(long x, long y)
    比较两个值的大小
    static int
    compare(short x, short y)
    比较两个值的大小
    static int
    count(int total, int part)
    计算等份个数
    static BigDecimal
    将一个String转换为一个BigDecimal
    static String
    decimalFormat(String pattern, double value)
    格式化double 对 DecimalFormat 做封装
    static String
    decimalFormat(String pattern, long value)
    格式化double 对 DecimalFormat 做封装
    static String
    decimalFormat(String pattern, Object value)
    格式化double 对 DecimalFormat 做封装
    static String
    decimalFormat(String pattern, Object value, RoundingMode roundingMode)
    格式化double 对 DecimalFormat 做封装
    static String
    decimalFormatMoney(double value)
    格式化金额输出,每三位用逗号分隔
    static double
    div(double v1, double v2)
    提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
    static double
    div(double v1, double v2, int scale)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
    static double
    div(double v1, double v2, int scale, RoundingMode roundingMode)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
    static double
    div(double v1, float v2)
    提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
    static double
    div(double v1, float v2, int scale)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
    static double
    div(double v1, float v2, int scale, RoundingMode roundingMode)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
    static double
    div(float v1, double v2)
    提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
    static double
    div(float v1, double v2, int scale)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
    static double
    div(float v1, double v2, int scale, RoundingMode roundingMode)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
    static double
    div(float v1, float v2)
    提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
    static double
    div(float v1, float v2, int scale)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
    static double
    div(float v1, float v2, int scale, RoundingMode roundingMode)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
    static BigDecimal
    div(Number v1, Number v2)
    提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
    static BigDecimal
    div(Number v1, Number v2, int scale)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
    static BigDecimal
    div(Number v1, Number v2, int scale, RoundingMode roundingMode)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
    static BigDecimal
    div(String v1, String v2)
    提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
    static BigDecimal
    div(String v1, String v2, int scale)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
    static BigDecimal
    div(String v1, String v2, int scale, RoundingMode roundingMode)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
    static BigDecimal
    div(BigDecimal v1, BigDecimal v2, int scale, RoundingMode roundingMode)
    提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
    static int
    divisor(int m, int n)
    最大公约数
    static boolean
    equals(char c1, char c2, boolean ignoreCase)
    比较两个字符是否相同
    static boolean
    equals(double num1, double num2)
    比较大小,值相等 返回true 此方法通过调用Double.doubleToLongBits(double)方法来判断是否相等 此方法判断值相等时忽略精度的,即0.00 == 0
    static boolean
    equals(float num1, float num2)
    比较大小,值相等 返回true 此方法通过调用Float.floatToIntBits(float)方法来判断是否相等 此方法判断值相等时忽略精度的,即0.00 == 0
    static boolean
    equals(long num1, long num2)
    比较大小,值相等 返回true 此方法修复传入long型数据由于没有本类型重载方法,导致数据精度丢失
    static boolean
    equals(BigDecimal bigNum1, BigDecimal bigNum2)
    比较大小,值相等 返回true 此方法通过调用BigDecimal.compareTo(BigDecimal)方法来判断是否相等 此方法判断值相等时忽略精度的,既0.00 == 0
    static long
    factorial(long n)
    计算阶乘
    static long
    factorial(long start, long end)
    计算阶乘
    static BigInteger
    计算阶乘
    static BigInteger
    计算范围阶乘
    static String
    format(long size)
    可读的文件大小
    static String
    formatPercent(double number, int scale)
    格式化百分比,小数采用四舍五入方式
    static String
    formatPercent(Number num, Number total, int scale)
    求百分比(带精度)(带百分号后缀) (3,10,0) - 30%
    static BigInteger
    无符号bytes转BigInteger
    static BigInteger
    fromUnsignedByteArray(byte[] buf, int off, int length)
    无符号bytes转BigInteger
    static Integer[]
    generateBySet(int begin, int end, int size)
    生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
    static int[]
    generateRandomNumber(int begin, int end, int size)
    生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
    static int[]
    generateRandomNumber(int begin, int end, int size, int[] seed)
    生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
    static String
    获得数字对应的二进制字符串
    static String
    返回标准容量后缀 支持类似于3MB,3M,3m等写法
    static boolean
    isBeside(int number1, int number2)
    判断两个数字是否相邻,例如1和2相邻,1和3不相邻 判断方法为做差取绝对值判断是否为1
    static boolean
    isBeside(long number1, long number2)
    判断两个数字是否相邻,例如1和2相邻,1和3不相邻 判断方法为做差取绝对值判断是否为1
    static boolean
    isBetween(double min, double max, double value)
    检查value是否在[min,max]范围内
    static boolean
    isBetween(float min, float max, float value)
    检查value是否在[min,max]范围内
    static boolean
    isBetween(int min, int max, int value)
    检查value是否在[min,max]范围内
    static boolean
    isBetween(long min, long max, long value)
    检查value是否在[min,max]范围内
    static boolean
    判断字符串是否是浮点数
    static boolean
    isEven(int num)
    检查是否为偶数
    static boolean
    isGreater(BigDecimal bigNum1, BigDecimal bigNum2)
    比较大小,参数1 > 参数2 返回true
    static boolean
    比较大小,参数1 >= 参数2 返回true
    static boolean
    isIn(BigDecimal value, BigDecimal minInclude, BigDecimal maxInclude)
    检查值是否在指定范围内
    static boolean
    判断String是否是整数 支持8、10、16进制
    static boolean
    isLess(BigDecimal bigNum1, BigDecimal bigNum2)
    比较大小,参数1 < 参数2 返回true
    static boolean
    isLessOrEqual(BigDecimal bigNum1, BigDecimal bigNum2)
    比较大小,参数1<=参数2 返回true
    static boolean
    判断字符串是否是Long类型 支持8、10、16进制
    boolean
    是否为负数,不包括0
    static boolean
    是否为数字
    static boolean
    isOdd(int num)
    检查是否为奇数
    static boolean
    isPrimes(int n)
    是否是质数(素数) 质数表的质数又称素数 指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数
    static boolean
    isValid(double number)
    检查是否为有效的数字 检查double否为无限大,或者Not a Number(NaN)
    static boolean
    isValid(float number)
    检查是否为有效的数字 检查double否为无限大,或者Not a Number(NaN)
    static boolean
    检查是否为有效的数字 检查Double和Float是否为无限大,或者Not a Number 非数字类型和Null将返回true
    static double
    max(double... args)
    取最大值
    static float
    max(float... args)
    取最大值
    static int
    max(int... args)
    取最大值
    static long
    max(long... args)
    取最大值
    static short
    max(short... args)
    取最大值
    static <T extends Comparable<? super T>>
    T
    max(T[] args)
    取最大值
    static double
    min(double... args)
    取最小值
    static float
    min(float... args)
    取最小值
    static int
    min(int... args)
    取最小值
    static long
    min(long... args)
    取最小值
    static short
    min(short... args)
    取最小值
    static <T extends Comparable<? super T>>
    T
    min(T[] numberArray)
    取最小值
    static double
    mul(double v1, double v2)
    提供精确的乘法运算
    static double
    mul(double v1, float v2)
    提供精确的乘法运算
    static double
    mul(float v1, double v2)
    提供精确的乘法运算
    static double
    mul(float v1, float v2)
    提供精确的乘法运算
    static BigDecimal
    mul(Number... args)
    提供精确的乘法运算 如果传入多个值为null或者空,则返回0
    static BigDecimal
    mul(Number v1, Number v2)
    提供精确的乘法运算 如果传入多个值为null或者空,则返回0
    static BigDecimal
    mul(String... args)
    提供精确的乘法运算 如果传入多个值为null或者空,则返回0
    static BigDecimal
    mul(String v1, String v2)
    提供精确的乘法运算
    static BigDecimal
    mul(BigDecimal... args)
    提供精确的乘法运算 如果传入多个值为null或者空,则返回0
    static int
    multiple(int m, int n)
    最小公倍数
    static BigInteger
    创建BigInteger,支持16进制、10进制和8进制,如果传入空白串返回null from Apache Common Lang
    static BigDecimal
    空转0
    static MathKit
    ofBytes(long bytes)
    获得对应bytes的MathKit
    static MathKit
    ofGigabytes(long gigabytes)
    获得对应gigabytes的MathKit
    static MathKit
    ofKilobytes(long kilobytes)
    获得对应kilobytes的MathKit
    static MathKit
    ofMegabytes(long megabytes)
    获得对应megabytes的MathKit
    static MathKit
    ofTerabytes(long terabytes)
    获得对应terabytes的MathKit
    static MathKit
    获取指定数据大小文本对应的MathKit对象,如果无单位指定,默认获取Normal.CAPACITY_NAMES
    static MathKit
    parse(CharSequence text, String defaultUnit)
    Obtain a MathKit from a text string such as 12MB using the specified default Normal.CAPACITY_NAMES if no unit is specified.
    static long
    parse(String text)
    解析数据大小字符串,转换为bytes大小
    static double
    解析转换数字字符串为long型数字,规则如下:
    static float
    解析转换数字字符串为long型数字,规则如下:
    static int
    parseInt(String number)
    解析转换数字字符串为int型数字,规则如下:
    static long
    parseLong(String number)
    解析转换数字字符串为long型数字,规则如下:
    static Number
    将指定字符串转换为Number 对象 此方法不支持科学计数法
    static int
    partValue(int total, int partCount)
    把给定的总数平均分成N份,返回每份的个数 当除以分数有余数时每份+1
    static int
    partValue(int total, int partCount, boolean isPlusOneWhenHasRem)
    把给定的总数平均分成N份,返回每份的个数 如果isPlusOneWhenHasRem为true,则当除以分数有余数时每份+1,否则丢弃余数部分
    static BigDecimal
    pow(Number number, int n)
    提供精确的幂运算
    static BigDecimal
    pow(BigDecimal number, int n)
    提供精确的幂运算
    static int
    processMultiple(int selectNum, int minNum)
    可以用于计算双色球、大乐透注数的方法 比如大乐透35选5可以这样调用processMultiple(7,5); 就是数学中的:C75=7*6/2*1
    static int[]
    range(int stop)
    从0开始给定范围内的整数列表,步进为1
    static int[]
    range(int start, int stop)
    给定范围内的整数列表,步进为1
    static int[]
    range(int start, int stop, int step)
    给定范围内的整数列表
    static BigDecimal
    round(double v, int scale)
    保留固定位数小数 采用四舍五入策略 RoundingMode.HALF_UP 例如保留2位小数:123.456789 = 123.46
    static BigDecimal
    round(double v, int scale, RoundingMode roundingMode)
    保留固定位数小数 例如保留四位小数:123.456789 = 123.4567
    static BigDecimal
    round(String number, int scale)
    保留固定位数小数 采用四舍五入策略 RoundingMode.HALF_UP 例如保留2位小数:123.456789 = 123.46
    static BigDecimal
    round(String number, int scale, RoundingMode roundingMode)
    保留固定位数小数 例如保留四位小数:123.456789 = 123.4567
    static BigDecimal
    round(BigDecimal number, int scale)
    保留固定位数小数 采用四舍五入策略 RoundingMode.HALF_UP 例如保留2位小数:123.456789 = 123.46
    static BigDecimal
    round(BigDecimal number, int scale, RoundingMode roundingMode)
    保留固定位数小数 例如保留四位小数:123.456789 = 123.4567
    static BigDecimal
    roundDown(Number number, int scale)
    保留固定小数位数,舍去多余位数
    static BigDecimal
    roundDown(BigDecimal value, int scale)
    保留固定小数位数,舍去多余位数
    static BigDecimal
    roundHalfEven(Number number, int scale)
    四舍六入五成双计算法
    static BigDecimal
    roundHalfEven(BigDecimal value, int scale)
    四舍六入五成双计算法
    static String
    roundString(double v, int scale)
    保留固定位数小数 采用四舍五入策略 RoundingMode.HALF_UP 例如保留2位小数:123.456789 = 123.46
    static String
    roundString(double v, int scale, RoundingMode roundingMode)
    保留固定位数小数 例如保留四位小数:123.456789 = 123.4567
    static String
    roundString(String number, int scale)
    保留固定位数小数 采用四舍五入策略 RoundingMode.HALF_UP 例如保留2位小数:123.456789 = 123.46
    static String
    roundString(String number, int scale, RoundingMode roundingMode)
    保留固定位数小数 例如保留四位小数:123.456789 = 123.4567
    static long
    sqrt(long x)
    平方根算法 推荐使用 Math.sqrt(double)
    static double
    sub(double v1, double v2)
    提供精确的减法运算
    static double
    sub(double v1, float v2)
    提供精确的减法运算
    static double
    sub(float v1, double v2)
    提供精确的减法运算
    static double
    sub(float v1, float v2)
    提供精确的减法运算
    static BigDecimal
    sub(Number... args)
    提供精确的减法运算 如果传入多个值为null或者空,则返回0
    static BigDecimal
    sub(Number v1, Number v2)
    提供精确的减法运算 如果传入多个值为null或者空,则返回0
    static BigDecimal
    sub(String... args)
    提供精确的减法运算 如果传入多个值为null或者空,则返回0
    static BigDecimal
    sub(BigDecimal... args)
    提供精确的减法运算 如果传入多个值为null或者空,则返回0
    static BigDecimal
    数字转BigDecimal
    static BigDecimal
    数字转BigDecimal
    static BigInteger
    数字转BigInteger
    static BigInteger
    数字转BigInteger
    static byte
    toByte(String text)
    将字符转换为byte类型
    static byte
    toByte(String text, byte defaultValue)
    将字符转换为byte类型
    long
    返回bytes大小
    static byte[]
    toBytes(int value)
    int值转byte数组,使用大端字节序(高位字节在前,低位字节在后)
    static double
    Number值转换为double float强制转换存在精度问题,此方法避免精度丢失
    static double
    将字符串转换为double类型
    static double
    toDouble(String text, double defaultValue)
    将字符串转换为double类型
    static double
    将BigDecimal转换为double类型
    static double
    toDouble(BigDecimal value, double defaultValue)
    将BigDecimal转换为double类型
    static float
    将字符串转换为float类型
    static float
    toFloat(String text, float defaultValue)
    将字符串转换为float类型,如果转换失败则返回默认值
    long
    返回GB大小
    static int
    toInt(byte[] bytes)
    byte数组转int,使用大端字节序(高位字节在前,低位字节在后)
    static int
    toInt(String text)
    将字符串转换为int类型
    static int
    toInt(String text, int defaultValue)
    将字符串转换为int类型,如果转换失败则返回默认值
    long
    返回KB大小
    static long
    toLong(String text)
    将字符串转换为long类型
    static long
    toLong(String text, long defaultValue)
    将字符串转换为long类型,如果转换失败则返回默认值
    long
    返回MB大小
    static BigDecimal
    将一个Double转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode.
    static BigDecimal
    toScaledBigDecimal(Double value, int scale, RoundingMode roundingMode)
    将一个Double转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode.
    static BigDecimal
    将一个Float转换为一个BigDecimal,两个刻度已经用RoundingMode.HALF_EVEN四舍五入了.
    static BigDecimal
    toScaledBigDecimal(Float value, int scale, RoundingMode roundingMode)
    将一个Float转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode.
    static BigDecimal
    将一个String转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode.
    static BigDecimal
    toScaledBigDecimal(String value, int scale, RoundingMode roundingMode)
    将一个String转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode.
    static BigDecimal
    将一个BigDecimal转换为一个BigDecimal,两个刻度已经使用RoundingMode.HALF_EVEN 四舍五入.
    static BigDecimal
    toScaledBigDecimal(BigDecimal value, int scale, RoundingMode roundingMode)
    将一个BigDecimal转换为一个BigDecimal,两个刻度已经使用RoundingMode.HALF_EVEN 四舍五入.
    static short
    将字符转换为short类型
    static short
    toShort(String text, short defaultValue)
    将字符转换为short类型
    static String
    toString(Number number)
    数字转字符串 调用Object.toString(),并去除尾小数点儿后多余的0
    static String
    toString(Number number, boolean isStripTrailingZeros)
    数字转字符串 调用Object.toString()BigDecimal.toPlainString(),并去除尾小数点儿后多余的0
    static String
    toString(Number number, String defaultValue)
    数字转字符串 调用Object.toString(),并去除尾小数点儿后多余的0
    static String
    toString(BigDecimal bigDecimal)
    BigDecimal数字转字符串 调用BigDecimal.toPlainString(),并去除尾小数点儿后多余的0
    static String
    toString(BigDecimal bigDecimal, boolean isStripTrailingZeros)
    BigDecimal 数字转字符串 调用BigDecimal.toPlainString(),可选去除尾小数点儿后多余的0
    long
    返回TB大小
    static byte[]
    toUnsignedByteArray(int length, BigInteger value)
    以无符号字节数组的形式返回传入值
    static byte[]
    以无符号字节数组的形式返回传入值
    static long
    yuanToCent(double yuan)
    金额元转换为分
    static int
    zero2One(int value)
    如果给定值为0,返回1,否则返回原值

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • add

      public static double add(float v1, float v2)
      提供精确的加法运算
      Parameters:
      v1 - 被加数
      v2 - 加数
      Returns:
    • add

      public static double add(float v1, double v2)
      提供精确的加法运算
      Parameters:
      v1 - 被加数
      v2 - 加数
      Returns:
    • add

      public static double add(double v1, float v2)
      提供精确的加法运算
      Parameters:
      v1 - 被加数
      v2 - 加数
      Returns:
    • add

      public static double add(double v1, double v2)
      提供精确的加法运算
      Parameters:
      v1 - 被加数
      v2 - 加数
      Returns:
    • add

      public static BigDecimal add(Number v1, Number v2)
      提供精确的加法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      v1 - 被加数
      v2 - 加数
      Returns:
    • add

      public static BigDecimal add(Number... args)
      提供精确的加法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      args - 多个被加值
      Returns:
    • add

      public static BigDecimal add(String... args)
      提供精确的加法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      args - 多个被加值
      Returns:
    • add

      public static BigDecimal add(BigDecimal... args)
      提供精确的加法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      args - 多个被加值
      Returns:
    • sub

      public static double sub(float v1, float v2)
      提供精确的减法运算
      Parameters:
      v1 - 被减数
      v2 - 减数
      Returns:
    • sub

      public static double sub(float v1, double v2)
      提供精确的减法运算
      Parameters:
      v1 - 被减数
      v2 - 减数
      Returns:
    • sub

      public static double sub(double v1, float v2)
      提供精确的减法运算
      Parameters:
      v1 - 被减数
      v2 - 减数
      Returns:
    • sub

      public static double sub(double v1, double v2)
      提供精确的减法运算
      Parameters:
      v1 - 被减数
      v2 - 减数
      Returns:
    • sub

      public static BigDecimal sub(Number v1, Number v2)
      提供精确的减法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      v1 - 被减数
      v2 - 减数
      Returns:
    • sub

      public static BigDecimal sub(Number... args)
      提供精确的减法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      args - 多个被减值
      Returns:
    • sub

      public static BigDecimal sub(String... args)
      提供精确的减法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      args - 多个被减值
      Returns:
    • sub

      public static BigDecimal sub(BigDecimal... args)
      提供精确的减法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      args - 多个被减值
      Returns:
    • mul

      public static double mul(float v1, float v2)
      提供精确的乘法运算
      Parameters:
      v1 - 被乘数
      v2 - 乘数
      Returns:
    • mul

      public static double mul(float v1, double v2)
      提供精确的乘法运算
      Parameters:
      v1 - 被乘数
      v2 - 乘数
      Returns:
    • mul

      public static double mul(double v1, float v2)
      提供精确的乘法运算
      Parameters:
      v1 - 被乘数
      v2 - 乘数
      Returns:
    • mul

      public static double mul(double v1, double v2)
      提供精确的乘法运算
      Parameters:
      v1 - 被乘数
      v2 - 乘数
      Returns:
    • mul

      public static BigDecimal mul(Number v1, Number v2)
      提供精确的乘法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      v1 - 被乘数
      v2 - 乘数
      Returns:
    • mul

      public static BigDecimal mul(Number... args)
      提供精确的乘法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      args - 多个被乘值
      Returns:
    • mul

      public static BigDecimal mul(String v1, String v2)
      提供精确的乘法运算
      Parameters:
      v1 - 被乘数
      v2 - 乘数
      Returns:
    • mul

      public static BigDecimal mul(String... args)
      提供精确的乘法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      args - 多个被乘值
      Returns:
    • mul

      public static BigDecimal mul(BigDecimal... args)
      提供精确的乘法运算 如果传入多个值为null或者空,则返回0
      Parameters:
      args - 多个被乘值
      Returns:
    • div

      public static double div(float v1, float v2)
      提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      Returns:
      两个参数的商
    • div

      public static double div(float v1, double v2)
      提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      Returns:
      两个参数的商
    • div

      public static double div(double v1, float v2)
      提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      Returns:
      两个参数的商
    • div

      public static double div(double v1, double v2)
      提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      Returns:
      两个参数的商
    • div

      public static BigDecimal div(Number v1, Number v2)
      提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      Returns:
      两个参数的商
    • div

      public static BigDecimal div(String v1, String v2)
      提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      Returns:
      两个参数的商
    • div

      public static double div(float v1, float v2, int scale)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      Returns:
      两个参数的商
    • div

      public static double div(float v1, double v2, int scale)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      Returns:
      两个参数的商
    • div

      public static double div(double v1, float v2, int scale)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      Returns:
      两个参数的商
    • div

      public static double div(double v1, double v2, int scale)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      Returns:
      两个参数的商
    • div

      public static BigDecimal div(Number v1, Number v2, int scale)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      Returns:
      两个参数的商
    • div

      public static BigDecimal div(String v1, String v2, int scale)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      Returns:
      两个参数的商
    • div

      public static double div(float v1, float v2, int scale, RoundingMode roundingMode)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      roundingMode - 保留小数的模式 RoundingMode
      Returns:
      两个参数的商
    • div

      public static double div(float v1, double v2, int scale, RoundingMode roundingMode)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      roundingMode - 保留小数的模式 RoundingMode
      Returns:
      两个参数的商
    • div

      public static double div(double v1, float v2, int scale, RoundingMode roundingMode)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      roundingMode - 保留小数的模式 RoundingMode
      Returns:
      两个参数的商
    • div

      public static double div(double v1, double v2, int scale, RoundingMode roundingMode)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      roundingMode - 保留小数的模式 RoundingMode
      Returns:
      两个参数的商
    • div

      public static BigDecimal div(Number v1, Number v2, int scale, RoundingMode roundingMode)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      roundingMode - 保留小数的模式 RoundingMode
      Returns:
      两个参数的商
    • div

      public static BigDecimal div(String v1, String v2, int scale, RoundingMode roundingMode)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      roundingMode - 保留小数的模式 RoundingMode
      Returns:
      两个参数的商
    • div

      public static BigDecimal div(BigDecimal v1, BigDecimal v2, int scale, RoundingMode roundingMode)
      提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
      Parameters:
      v1 - 被除数
      v2 - 除数
      scale - 精确度,如果为负值,取绝对值
      roundingMode - 保留小数的模式 RoundingMode
      Returns:
      两个参数的商
    • ceilDiv

      public static int ceilDiv(int v1, int v2)
      补充Math.ceilDiv() JDK8中添加了和Math.floorDiv()但却没有ceilDiv()
      Parameters:
      v1 - 被除数
      v2 - 除数
      Returns:
      两个参数的商
    • round

      public static BigDecimal round(double v, int scale)
      保留固定位数小数 采用四舍五入策略 RoundingMode.HALF_UP 例如保留2位小数:123.456789 = 123.46
      Parameters:
      v - 值
      scale - 保留小数位数
      Returns:
      新值
    • roundString

      public static String roundString(double v, int scale)
      保留固定位数小数 采用四舍五入策略 RoundingMode.HALF_UP 例如保留2位小数:123.456789 = 123.46
      Parameters:
      v - 值
      scale - 保留小数位数
      Returns:
      新值
    • round

      public static BigDecimal round(String number, int scale)
      保留固定位数小数 采用四舍五入策略 RoundingMode.HALF_UP 例如保留2位小数:123.456789 = 123.46
      Parameters:
      number - 数字值的字符串表现形式
      scale - 保留小数位数
      Returns:
      新值
    • round

      public static BigDecimal round(BigDecimal number, int scale)
      保留固定位数小数 采用四舍五入策略 RoundingMode.HALF_UP 例如保留2位小数:123.456789 = 123.46
      Parameters:
      number - 数字值
      scale - 保留小数位数
      Returns:
      新值
    • roundString

      public static String roundString(String number, int scale)
      保留固定位数小数 采用四舍五入策略 RoundingMode.HALF_UP 例如保留2位小数:123.456789 = 123.46
      Parameters:
      number - 数字值的字符串表现形式
      scale - 保留小数位数
      Returns:
      新值
    • round

      public static BigDecimal round(double v, int scale, RoundingMode roundingMode)
      保留固定位数小数 例如保留四位小数:123.456789 = 123.4567
      Parameters:
      v - 值
      scale - 保留小数位数
      roundingMode - 保留小数的模式 RoundingMode
      Returns:
      新值
    • roundString

      public static String roundString(double v, int scale, RoundingMode roundingMode)
      保留固定位数小数 例如保留四位小数:123.456789 = 123.4567
      Parameters:
      v - 值
      scale - 保留小数位数
      roundingMode - 保留小数的模式 RoundingMode
      Returns:
      新值
    • round

      public static BigDecimal round(String number, int scale, RoundingMode roundingMode)
      保留固定位数小数 例如保留四位小数:123.456789 = 123.4567
      Parameters:
      number - 数字值的字符串表现形式
      scale - 保留小数位数,如果传入小于0,则默认0
      roundingMode - 保留小数的模式 RoundingMode,如果传入null则默认四舍五入
      Returns:
      新值
    • round

      public static BigDecimal round(BigDecimal number, int scale, RoundingMode roundingMode)
      保留固定位数小数 例如保留四位小数:123.456789 = 123.4567
      Parameters:
      number - 数字值
      scale - 保留小数位数,如果传入小于0,则默认0
      roundingMode - 保留小数的模式 RoundingMode,如果传入null则默认四舍五入
      Returns:
      新值
    • roundString

      public static String roundString(String number, int scale, RoundingMode roundingMode)
      保留固定位数小数 例如保留四位小数:123.456789 = 123.4567
      Parameters:
      number - 数字值的字符串表现形式
      scale - 保留小数位数
      roundingMode - 保留小数的模式 RoundingMode
      Returns:
      新值
    • roundHalfEven

      public static BigDecimal roundHalfEven(Number number, int scale)
      四舍六入五成双计算法

      四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则

       算法规则:
       四舍六入五考虑,
       五后非零就进一,
       五后皆零看奇偶,
       五前为偶应舍去,
       五前为奇要进一
       
      Parameters:
      number - 需要科学计算的数据
      scale - 保留的小数位
      Returns:
      结果
    • roundHalfEven

      public static BigDecimal roundHalfEven(BigDecimal value, int scale)
      四舍六入五成双计算法

      四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则

       算法规则:
       四舍六入五考虑,
       五后非零就进一,
       五后皆零看奇偶,
       五前为偶应舍去,
       五前为奇要进一
       
      Parameters:
      value - 需要科学计算的数据
      scale - 保留的小数位
      Returns:
      结果
    • roundDown

      public static BigDecimal roundDown(Number number, int scale)
      保留固定小数位数,舍去多余位数
      Parameters:
      number - 需要科学计算的数据
      scale - 保留的小数位
      Returns:
      结果
    • roundDown

      public static BigDecimal roundDown(BigDecimal value, int scale)
      保留固定小数位数,舍去多余位数
      Parameters:
      value - 需要科学计算的数据
      scale - 保留的小数位
      Returns:
      结果
    • decimalFormat

      public static String decimalFormat(String pattern, double value)
      格式化double 对 DecimalFormat 做封装
      Parameters:
      pattern - 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度 0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置
      • 0 = 取一位整数
      • 0.00 = 取一位整数和两位小数
      • 00.000 = 取两位整数和三位小数
      • # = 取所有整数部分
      • #.##% = 以百分比方式计数,并取两位小数
      • #.#####E0 = 显示为科学计数法,并取五位小数
      • ,### = 每三位以逗号进行分隔,例如:299,792,458
      • 光速大小为每秒,###米 = 将格式嵌入文本
      value - 值
      Returns:
      格式化后的值
    • decimalFormat

      public static String decimalFormat(String pattern, long value)
      格式化double 对 DecimalFormat 做封装
      Parameters:
      pattern - 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度 0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置
      • 0 = 取一位整数
      • 0.00 = 取一位整数和两位小数
      • 00.000 = 取两位整数和三位小数
      • # = 取所有整数部分
      • #.##% = 以百分比方式计数,并取两位小数
      • #.#####E0 = 显示为科学计数法,并取五位小数
      • ,### = 每三位以逗号进行分隔,例如:299,792,458
      • 光速大小为每秒,###米 = 将格式嵌入文本
      value - 值
      Returns:
      格式化后的值
    • decimalFormat

      public static String decimalFormat(String pattern, Object value)
      格式化double 对 DecimalFormat 做封装
      Parameters:
      pattern - 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度 0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置
      • 0 =》 取一位整数
      • 0.00 =》 取一位整数和两位小数
      • 00.000 =》 取两位整数和三位小数
      • # =》 取所有整数部分
      • #.##% =》 以百分比方式计数,并取两位小数
      • #.#####E0 =》 显示为科学计数法,并取五位小数
      • ,### =》 每三位以逗号进行分隔,例如:299,792,458
      • 光速大小为每秒,###米 =》 将格式嵌入文本
      value - 值,支持BigDecimal、BigInteger、Number等类型
      Returns:
      格式化后的值
    • decimalFormat

      public static String decimalFormat(String pattern, Object value, RoundingMode roundingMode)
      格式化double 对 DecimalFormat 做封装
      Parameters:
      pattern - 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度 0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置
      • 0 =》 取一位整数
      • 0.00 =》 取一位整数和两位小数
      • 00.000 =》 取两位整数和三位小数
      • # =》 取所有整数部分
      • #.##% =》 以百分比方式计数,并取两位小数
      • #.#####E0 =》 显示为科学计数法,并取五位小数
      • ,### =》 每三位以逗号进行分隔,例如:299,792,458
      • 光速大小为每秒,###米 =》 将格式嵌入文本
      value - 值,支持BigDecimal、BigInteger、Number等类型
      roundingMode - 保留小数的方式枚举
      Returns:
      格式化后的值
    • decimalFormatMoney

      public static String decimalFormatMoney(double value)
      格式化金额输出,每三位用逗号分隔
      Parameters:
      value - 金额
      Returns:
      格式化后的值
    • formatPercent

      public static String formatPercent(double number, int scale)
      格式化百分比,小数采用四舍五入方式
      Parameters:
      number - 值
      scale - 保留小数位数
      Returns:
      百分比
    • formatPercent

      public static String formatPercent(Number num, Number total, int scale)
      求百分比(带精度)(带百分号后缀) (3,10,0) - 30%
      Parameters:
      num - 当前num
      total - 总长度
      scale - 精度(保留小数点后几位)
      Returns:
      String 百分比(带百分号后缀)
    • isNumber

      public static boolean isNumber(CharSequence text)
      是否为数字
      Parameters:
      text - 字符串值
      Returns:
      是否为数字
    • isInteger

      public static boolean isInteger(String s)
      判断String是否是整数 支持8、10、16进制
      Parameters:
      s - String
      Returns:
      是否为整数
    • isLong

      public static boolean isLong(String s)
      判断字符串是否是Long类型 支持8、10、16进制
      Parameters:
      s - String
      Returns:
      是否为Long类型
    • isDouble

      public static boolean isDouble(String s)
      判断字符串是否是浮点数
      Parameters:
      s - String
      Returns:
      是否为Double类型
    • isPrimes

      public static boolean isPrimes(int n)
      是否是质数(素数) 质数表的质数又称素数 指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数
      Parameters:
      n - 数字
      Returns:
      是否是质数
    • generateRandomNumber

      public static int[] generateRandomNumber(int begin, int end, int size)
      生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
      Parameters:
      begin - 最小数字(包含该数)
      end - 最大数字(不包含该数)
      size - 指定产生随机数的个数
      Returns:
      随机int数组
    • generateRandomNumber

      public static int[] generateRandomNumber(int begin, int end, int size, int[] seed)
      生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
      Parameters:
      begin - 最小数字(包含该数)
      end - 最大数字(不包含该数)
      size - 指定产生随机数的个数
      seed - 种子,用于取随机数的int池
      Returns:
      随机int数组
    • generateBySet

      public static Integer[] generateBySet(int begin, int end, int size)
      生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
      Parameters:
      begin - 最小数字(包含该数)
      end - 最大数字(不包含该数)
      size - 指定产生随机数的个数
      Returns:
      随机int数组
    • range

      public static int[] range(int stop)
      从0开始给定范围内的整数列表,步进为1
      Parameters:
      stop - 结束(包含)
      Returns:
      整数列表
    • range

      public static int[] range(int start, int stop)
      给定范围内的整数列表,步进为1
      Parameters:
      start - 开始(包含)
      stop - 结束(包含)
      Returns:
      整数列表
    • range

      public static int[] range(int start, int stop, int step)
      给定范围内的整数列表
      Parameters:
      start - 开始(包含)
      stop - 结束(包含)
      step - 步进
      Returns:
      整数列表
    • appendRange

      public static Collection<Integer> appendRange(int start, int stop, Collection<Integer> values)
      将给定范围内的整数添加到已有集合中,步进为1
      Parameters:
      start - 开始(包含)
      stop - 结束(包含)
      values - 集合
      Returns:
      集合
    • appendRange

      public static Collection<Integer> appendRange(int start, int stop, int step, Collection<Integer> values)
      将给定范围内的整数添加到已有集合中
      Parameters:
      start - 开始(包含)
      stop - 结束(包含)
      step - 步进
      values - 集合
      Returns:
      集合
    • factorial

      public static BigInteger factorial(BigInteger n)
      计算阶乘

      n! = n * (n-1) * ... * 2 * 1

      Parameters:
      n - 阶乘起始
      Returns:
      结果
    • factorial

      public static BigInteger factorial(BigInteger start, BigInteger end)
      计算范围阶乘

      factorial(start, end) = start * (start - 1) * ... * (end + 1)

      Parameters:
      start - 阶乘起始(包含)
      end - 阶乘结束,必须小于起始(不包括)
      Returns:
      结果
    • factorial

      public static long factorial(long start, long end)
      计算阶乘

      n! = n * (n-1) * ... * end

      Parameters:
      start - 阶乘起始
      end - 阶乘结束
      Returns:
      结果
    • factorial

      public static long factorial(long n)
      计算阶乘

      n! = n * (n-1) * ... * 2 * 1

      Parameters:
      n - 阶乘起始
      Returns:
      结果
    • sqrt

      public static long sqrt(long x)
      平方根算法 推荐使用 Math.sqrt(double)
      Parameters:
      x - 值
      Returns:
      平方根
    • processMultiple

      public static int processMultiple(int selectNum, int minNum)
      可以用于计算双色球、大乐透注数的方法 比如大乐透35选5可以这样调用processMultiple(7,5); 就是数学中的:C75=7*6/2*1
      Parameters:
      selectNum - 选中小球个数
      minNum - 最少要选中多少个小球
      Returns:
      注数
    • divisor

      public static int divisor(int m, int n)
      最大公约数
      Parameters:
      m - 第一个值
      n - 第二个值
      Returns:
      最大公约数
    • multiple

      public static int multiple(int m, int n)
      最小公倍数
      Parameters:
      m - 第一个值
      n - 第二个值
      Returns:
      最小公倍数
    • getBinaryString

      public static String getBinaryString(Number number)
      获得数字对应的二进制字符串
      Parameters:
      number - 数字
      Returns:
      二进制字符串
    • binaryToInt

      public static int binaryToInt(String binaryStr)
      二进制转int
      Parameters:
      binaryStr - 二进制字符串
      Returns:
      int
    • binaryToLong

      public static long binaryToLong(String binaryStr)
      二进制转long
      Parameters:
      binaryStr - 二进制字符串
      Returns:
      long
    • compare

      public static int compare(char x, char y)
      比较两个值的大小
      Parameters:
      x - 第一个值
      y - 第二个值
      Returns:
      x==y返回0,x<y返回小于0的数,x>y返回大于0的数
      See Also:
    • compare

      public static int compare(double x, double y)
      比较两个值的大小
      Parameters:
      x - 第一个值
      y - 第二个值
      Returns:
      x==y返回0,x<y返回小于0的数,x>y返回大于0的数
      See Also:
    • compare

      public static int compare(int x, int y)
      比较两个值的大小
      Parameters:
      x - 第一个值
      y - 第二个值
      Returns:
      x==y返回0,x<y返回小于0的数,x>y返回大于0的数
      See Also:
    • compare

      public static int compare(long x, long y)
      比较两个值的大小
      Parameters:
      x - 第一个值
      y - 第二个值
      Returns:
      x==y返回0,x<y返回小于0的数,x>y返回大于0的数
      See Also:
    • compare

      public static int compare(short x, short y)
      比较两个值的大小
      Parameters:
      x - 第一个值
      y - 第二个值
      Returns:
      x==y返回0,x<y返回小于0的数,x>y返回大于0的数
      See Also:
    • compare

      public static int compare(byte x, byte y)
      比较两个值的大小
      Parameters:
      x - 第一个值
      y - 第二个值
      Returns:
      x==y返回0,x<y返回-1,x>y返回1
      See Also:
    • isGreater

      public static boolean isGreater(BigDecimal bigNum1, BigDecimal bigNum2)
      比较大小,参数1 > 参数2 返回true
      Parameters:
      bigNum1 - 数字1
      bigNum2 - 数字2
      Returns:
      是否大于
    • isGreaterOrEqual

      public static boolean isGreaterOrEqual(BigDecimal bigNum1, BigDecimal bigNum2)
      比较大小,参数1 >= 参数2 返回true
      Parameters:
      bigNum1 - 数字1
      bigNum2 - 数字2
      Returns:
      是否大于等于
    • isLess

      public static boolean isLess(BigDecimal bigNum1, BigDecimal bigNum2)
      比较大小,参数1 < 参数2 返回true
      Parameters:
      bigNum1 - 数字1
      bigNum2 - 数字2
      Returns:
      是否小于
    • isLessOrEqual

      public static boolean isLessOrEqual(BigDecimal bigNum1, BigDecimal bigNum2)
      比较大小,参数1<=参数2 返回true
      Parameters:
      bigNum1 - 数字1
      bigNum2 - 数字2
      Returns:
      是否小于等于
    • isIn

      public static boolean isIn(BigDecimal value, BigDecimal minInclude, BigDecimal maxInclude)
      检查值是否在指定范围内
      Parameters:
      value - 值
      minInclude - 最小值(包含)
      maxInclude - 最大值(包含)
      Returns:
      经过检查后的值
    • equals

      public static boolean equals(BigDecimal bigNum1, BigDecimal bigNum2)
      比较大小,值相等 返回true 此方法通过调用BigDecimal.compareTo(BigDecimal)方法来判断是否相等 此方法判断值相等时忽略精度的,既0.00 == 0
      Parameters:
      bigNum1 - 数字1
      bigNum2 - 数字2
      Returns:
      是否相等
    • equals

      public static boolean equals(double num1, double num2)
      比较大小,值相等 返回true 此方法通过调用Double.doubleToLongBits(double)方法来判断是否相等 此方法判断值相等时忽略精度的,即0.00 == 0
      Parameters:
      num1 - 数字1
      num2 - 数字2
      Returns:
      是否相等
    • equals

      public static boolean equals(float num1, float num2)
      比较大小,值相等 返回true 此方法通过调用Float.floatToIntBits(float)方法来判断是否相等 此方法判断值相等时忽略精度的,即0.00 == 0
      Parameters:
      num1 - 数字1
      num2 - 数字2
      Returns:
      是否相等
    • equals

      public static boolean equals(long num1, long num2)
      比较大小,值相等 返回true 此方法修复传入long型数据由于没有本类型重载方法,导致数据精度丢失
      Parameters:
      num1 - 数字1
      num2 - 数字2
      Returns:
      是否相等
    • equals

      public static boolean equals(char c1, char c2, boolean ignoreCase)
      比较两个字符是否相同
      Parameters:
      c1 - 字符1
      c2 - 字符2
      ignoreCase - 是否忽略大小写
      Returns:
      是否相同
      See Also:
    • min

      public static <T extends Comparable<? super T>> T min(T[] numberArray)
      取最小值
      Type Parameters:
      T - 元素类型
      Parameters:
      numberArray - 数字数组
      Returns:
      最小值
      See Also:
    • min

      public static long min(long... args)
      取最小值
      Parameters:
      args - 数字数组
      Returns:
      最小值
      See Also:
    • min

      public static int min(int... args)
      取最小值
      Parameters:
      args - 数字数组
      Returns:
      最小值
      See Also:
    • min

      public static short min(short... args)
      取最小值
      Parameters:
      args - 数字数组
      Returns:
      最小值
      See Also:
    • min

      public static double min(double... args)
      取最小值
      Parameters:
      args - 数字数组
      Returns:
      最小值
      See Also:
    • min

      public static float min(float... args)
      取最小值
      Parameters:
      args - 数字数组
      Returns:
      最小值
      See Also:
    • max

      public static <T extends Comparable<? super T>> T max(T[] args)
      取最大值
      Type Parameters:
      T - 元素类型
      Parameters:
      args - 数字数组
      Returns:
      最大值
      See Also:
    • max

      public static long max(long... args)
      取最大值
      Parameters:
      args - 数字数组
      Returns:
      最大值
      See Also:
    • max

      public static int max(int... args)
      取最大值
      Parameters:
      args - 数字数组
      Returns:
      最大值
      See Also:
    • max

      public static short max(short... args)
      取最大值
      Parameters:
      args - 数字数组
      Returns:
      最大值
      See Also:
    • max

      public static double max(double... args)
      取最大值
      Parameters:
      args - 数字数组
      Returns:
      最大值
      See Also:
    • max

      public static float max(float... args)
      取最大值
      Parameters:
      args - 数字数组
      Returns:
      最大值
      See Also:
    • toString

      public static String toString(Number number, String defaultValue)
      数字转字符串 调用Object.toString(),并去除尾小数点儿后多余的0
      Parameters:
      number - A Number
      defaultValue - 如果number参数为null,返回此默认值
      Returns:
      A String.
    • toString

      public static String toString(Number number)
      数字转字符串 调用Object.toString(),并去除尾小数点儿后多余的0
      Parameters:
      number - A Number
      Returns:
      A String.
    • toString

      public static String toString(Number number, boolean isStripTrailingZeros)
      数字转字符串 调用Object.toString()BigDecimal.toPlainString(),并去除尾小数点儿后多余的0
      Parameters:
      number - A Number
      isStripTrailingZeros - 是否去除末尾多余0,例如5.0返回5
      Returns:
      A String
    • toString

      public static String toString(BigDecimal bigDecimal)
      BigDecimal数字转字符串 调用BigDecimal.toPlainString(),并去除尾小数点儿后多余的0
      Parameters:
      bigDecimal - A BigDecimal
      Returns:
      A String.
    • toString

      public static String toString(BigDecimal bigDecimal, boolean isStripTrailingZeros)
      BigDecimal 数字转字符串 调用BigDecimal.toPlainString(),可选去除尾小数点儿后多余的0
      Parameters:
      bigDecimal - A BigDecimal
      isStripTrailingZeros - 是否去除末尾多余0,例如5.0返回5
      Returns:
      A String
    • toBigDecimal

      public static BigDecimal toBigDecimal(Number number)
      数字转BigDecimal
      Parameters:
      number - 数字
      Returns:
      BigDecimal
    • toBigDecimal

      public static BigDecimal toBigDecimal(String number)
      数字转BigDecimal
      Parameters:
      number - 数字
      Returns:
      BigDecimal
    • toBigInteger

      public static BigInteger toBigInteger(Number number)
      数字转BigInteger
      Parameters:
      number - 数字
      Returns:
      BigInteger
    • toBigInteger

      public static BigInteger toBigInteger(String number)
      数字转BigInteger
      Parameters:
      number - 数字
      Returns:
      BigInteger
    • count

      public static int count(int total, int part)
      计算等份个数
      Parameters:
      total - 总数
      part - 每份的个数
      Returns:
      分成了几份
    • null2Zero

      public static BigDecimal null2Zero(BigDecimal decimal)
      空转0
      Parameters:
      decimal - BigDecimal,可以为null
      Returns:
      BigDecimal参数为空时返回0的值
    • zero2One

      public static int zero2One(int value)
      如果给定值为0,返回1,否则返回原值
      Parameters:
      value - 值
      Returns:
      1或非0值
    • newBigInteger

      public static BigInteger newBigInteger(String text)
      创建BigInteger,支持16进制、10进制和8进制,如果传入空白串返回null from Apache Common Lang
      Parameters:
      text - 数字字符串
      Returns:
      BigInteger
    • isBeside

      public static boolean isBeside(long number1, long number2)
      判断两个数字是否相邻,例如1和2相邻,1和3不相邻 判断方法为做差取绝对值判断是否为1
      Parameters:
      number1 - 数字1
      number2 - 数字2
      Returns:
      是否相邻
    • isBeside

      public static boolean isBeside(int number1, int number2)
      判断两个数字是否相邻,例如1和2相邻,1和3不相邻 判断方法为做差取绝对值判断是否为1
      Parameters:
      number1 - 数字1
      number2 - 数字2
      Returns:
      是否相邻
    • partValue

      public static int partValue(int total, int partCount)
      把给定的总数平均分成N份,返回每份的个数 当除以分数有余数时每份+1
      Parameters:
      total - 总数
      partCount - 份数
      Returns:
      每份的个数
    • partValue

      public static int partValue(int total, int partCount, boolean isPlusOneWhenHasRem)
      把给定的总数平均分成N份,返回每份的个数 如果isPlusOneWhenHasRem为true,则当除以分数有余数时每份+1,否则丢弃余数部分
      Parameters:
      total - 总数
      partCount - 份数
      isPlusOneWhenHasRem - 在有余数时是否每份+1
      Returns:
      每份的个数
    • pow

      public static BigDecimal pow(Number number, int n)
      提供精确的幂运算
      Parameters:
      number - 底数
      n - 指数
      Returns:
      幂的积
    • pow

      public static BigDecimal pow(BigDecimal number, int n)
      提供精确的幂运算
      Parameters:
      number - 底数
      n - 指数
      Returns:
      幂的积
    • parseInt

      public static int parseInt(String number) throws NumberFormatException
      解析转换数字字符串为int型数字,规则如下:
       1、0x开头的视为16进制数字
       2、0开头的忽略开头的0
       3、其它情况按照10进制转换
       4、空串返回0
       5、.123形式返回0(按照小于0的小数对待)
       6、123.56截取小数点之前的数字,忽略小数部分
       
      Parameters:
      number - 数字,支持0x开头、0开头和普通十进制
      Returns:
      int
      Throws:
      NumberFormatException - 数字格式异常
    • parseLong

      public static long parseLong(String number)
      解析转换数字字符串为long型数字,规则如下:
       1、0x开头的视为16进制数字
       2、0开头的忽略开头的0
       3、空串返回0
       4、其它情况按照10进制转换
       
      Parameters:
      number - 数字,支持0x开头、0开头和普通十进制
      Returns:
      long
    • parseFloat

      public static float parseFloat(String number)
      解析转换数字字符串为long型数字,规则如下:
       1、0开头的忽略开头的0
       2、空串返回0
       3、其它情况按照10进制转换
       4、.123形式返回0.123(按照小于0的小数对待)
       
      Parameters:
      number - 数字,支持0x开头、0开头和普通十进制
      Returns:
      long
    • parseDouble

      public static double parseDouble(String number)
      解析转换数字字符串为long型数字,规则如下:
       1、0开头的忽略开头的0
       2、空串返回0
       3、其它情况按照10进制转换
       4、.123形式返回0.123(按照小于0的小数对待)
       
      Parameters:
      number - 数字,支持0x开头、0开头和普通十进制
      Returns:
      long
    • parseNumber

      public static Number parseNumber(String number) throws NumberFormatException
      将指定字符串转换为Number 对象 此方法不支持科学计数法
      Parameters:
      number - Number字符串
      Returns:
      Number对象
      Throws:
      NumberFormatException - 包装了ParseException,当给定的数字字符串无法解析时抛出
    • toBytes

      public static byte[] toBytes(int value)
      int值转byte数组,使用大端字节序(高位字节在前,低位字节在后)
      Parameters:
      value - 值
      Returns:
      byte数组
    • toInt

      public static int toInt(byte[] bytes)
      byte数组转int,使用大端字节序(高位字节在前,低位字节在后)
      Parameters:
      bytes - 字节
      Returns:
      int
    • toUnsignedByteArray

      public static byte[] toUnsignedByteArray(BigInteger value)
      以无符号字节数组的形式返回传入值
      Parameters:
      value - 需要转换的值
      Returns:
      无符号bytes
    • toUnsignedByteArray

      public static byte[] toUnsignedByteArray(int length, BigInteger value)
      以无符号字节数组的形式返回传入值
      Parameters:
      length - bytes长度
      value - 需要转换的值
      Returns:
      无符号bytes
    • fromUnsignedByteArray

      public static BigInteger fromUnsignedByteArray(byte[] buf)
      无符号bytes转BigInteger
      Parameters:
      buf - buf 无符号bytes
      Returns:
      BigInteger
    • fromUnsignedByteArray

      public static BigInteger fromUnsignedByteArray(byte[] buf, int off, int length)
      无符号bytes转BigInteger
      Parameters:
      buf - 无符号bytes
      off - 起始位置
      length - 长度
      Returns:
      BigInteger
    • isValid

      public static boolean isValid(double number)
      检查是否为有效的数字 检查double否为无限大,或者Not a Number(NaN)
      Parameters:
      number - 被检查double
      Returns:
      检查结果
    • isValid

      public static boolean isValid(float number)
      检查是否为有效的数字 检查double否为无限大,或者Not a Number(NaN)
      Parameters:
      number - 被检查double
      Returns:
      检查结果
    • calculate

      public static double calculate(String expression)
      计算数学表达式的值,只支持加减乘除和取余
         calculate("(0*1--3)-5/-4-(3*(-2.13))") -》 10.64
       
      Parameters:
      expression - 数学表达式
      Returns:
      结果
    • addZero

      public static String addZero(Number numObj, int length)
      给数字对象按照指定长度在左侧补0.

      使用案例: addZero2String(11,4) 返回 "0011", addZero2String(-18,6)返回 "-000018"

      Parameters:
      numObj - 数字对象
      length - 指定的长度
      Returns:
      the string
    • toInt

      public static int toInt(String text)
      将字符串转换为int类型
         MathKit.toInt(null) = 0
         MathKit.toInt("")   = 0
         MathKit.toInt("1")  = 1
       
      Parameters:
      text - 要转换的字符串可以为空
      Returns:
      字符串表示的整型数,如果转换失败则默认值
    • toInt

      public static int toInt(String text, int defaultValue)
      将字符串转换为int类型,如果转换失败则返回默认值
         MathKit.toInt(null, 1) = 1
         MathKit.toInt("", 1)   = 1
         MathKit.toInt("1", 0)  = 1
       
      Parameters:
      text - 要转换的字符串可以为空
      defaultValue - 默认值
      Returns:
      字符串表示的int,如果转换失败则默认值
    • toLong

      public static long toLong(String text)
      将字符串转换为long类型
         MathKit.toLong(null) = 0L
         MathKit.toLong("")   = 0L
         MathKit.toLong("1")  = 1L
       
      Parameters:
      text - 要转换的字符串可以为空
      Returns:
      字符串表示的long,如果转换失败则默认值
    • toLong

      public static long toLong(String text, long defaultValue)
      将字符串转换为long类型,如果转换失败则返回默认值
         MathKit.toInt(null, 1) = 1
         MathKit.toInt("", 1)   = 1
         MathKit.toInt("1", 0)  = 1
       
      Parameters:
      text - 要转换的字符串可以为空
      defaultValue - 默认值
      Returns:
      字符串表示的long,如果转换失败则默认值
    • toFloat

      public static float toFloat(String text)
      将字符串转换为float类型
         MathKit.toFloat(null)   = 0.0f
         MathKit.toFloat("")     = 0.0f
         MathKit.toFloat("1.5")  = 1.5f
       
      Parameters:
      text - 要转换的字符串可以为空
      Returns:
      字符串表示的float,如果转换失败则默认值
    • toFloat

      public static float toFloat(String text, float defaultValue)
      将字符串转换为float类型,如果转换失败则返回默认值
         MathKit.toFloat(null, 1.1f)   = 1.0f
         MathKit.toFloat("", 1.1f)     = 1.1f
         MathKit.toFloat("1.5", 0.0f)  = 1.5f
       
      Parameters:
      text - 要转换的字符串可以为空
      defaultValue - 默认值
      Returns:
      字符串表示的float,如果转换失败则默认值
    • toDouble

      public static double toDouble(String text)
      将字符串转换为double类型
         MathKit.toDouble(null)   = 0.0d
         MathKit.toDouble("")     = 0.0d
         MathKit.toDouble("1.5")  = 1.5d
       
      Parameters:
      text - 要转换的字符串可以为空
      Returns:
      字符串表示的double,如果转换失败则默认值
    • toDouble

      public static double toDouble(String text, double defaultValue)
      将字符串转换为double类型
         MathKit.toDouble(null, 1.1d)   = 1.1d
         MathKit.toDouble("", 1.1d)     = 1.1d
         MathKit.toDouble("1.5", 0.0d)  = 1.5d
       
      Parameters:
      text - 要转换的字符串可以为空
      defaultValue - 默认值
      Returns:
      字符串表示的double,如果转换失败则默认值
    • toDouble

      public static double toDouble(BigDecimal value)
      将BigDecimal转换为double类型
         MathKit.toDouble(null)                     = 0.0d
         MathKit.toDouble(BigDecimal.valudOf(8.5d)) = 8.5d
       
      Parameters:
      value - 要转换的字符可以为空
      Returns:
      字符串表示的double,如果转换失败则默认值
    • toDouble

      public static double toDouble(BigDecimal value, double defaultValue)
      将BigDecimal转换为double类型
         MathKit.toDouble(null, 1.1d)                     = 1.1d
         MathKit.toDouble(BigDecimal.valudOf(8.5d), 1.1d) = 8.5d
       
      Parameters:
      value - 要转换的字符可以为空
      defaultValue - 默认值
      Returns:
      字符串表示的double,如果转换失败则默认值
    • toDouble

      public static double toDouble(Number value)
      Number值转换为double float强制转换存在精度问题,此方法避免精度丢失
      Parameters:
      value - 被转换的float值
      Returns:
      double值
    • toByte

      public static byte toByte(String text)
      将字符转换为byte类型
         MathKit.toByte(null) = 0
         MathKit.toByte("")   = 0
         MathKit.toByte("1")  = 1
       
      Parameters:
      text - 要转换的字符可以为空
      Returns:
      字符串表示的byte,如果转换失败则默认值
    • toByte

      public static byte toByte(String text, byte defaultValue)
      将字符转换为byte类型
         MathKit.toByte(null, 1) = 1
         MathKit.toByte("", 1)   = 1
         MathKit.toByte("1", 0)  = 1
       
      Parameters:
      text - 要转换的字符可以为空
      defaultValue - 默认值
      Returns:
      字符串表示的byte,如果转换失败则默认值
    • toShort

      public static short toShort(String text)
      将字符转换为short类型
         MathKit.toShort(null) = 0
         MathKit.toShort("")   = 0
         MathKit.toShort("1")  = 1
       
      Parameters:
      text - 要转换的字符可以为空
      Returns:
      字符串表示的short,如果转换失败则默认值
    • toShort

      public static short toShort(String text, short defaultValue)
      将字符转换为short类型
         MathKit.toShort(null, 1) = 1
         MathKit.toShort("", 1)   = 1
         MathKit.toShort("1", 0)  = 1
       
      Parameters:
      text - 要转换的字符可以为空
      defaultValue - 默认值
      Returns:
      字符串表示的short,如果转换失败则默认值
    • toScaledBigDecimal

      public static BigDecimal toScaledBigDecimal(BigDecimal value)
      将一个BigDecimal转换为一个BigDecimal,两个刻度已经使用RoundingMode.HALF_EVEN 四舍五入. 如果提供的值为null,则BigDecimal返回0
      Parameters:
      value - 要转换的字符可以为空
      Returns:
      字符串表示的BigDecimal,如果转换失败则默认值
    • toScaledBigDecimal

      public static BigDecimal toScaledBigDecimal(BigDecimal value, int scale, RoundingMode roundingMode)
      将一个BigDecimal转换为一个BigDecimal,两个刻度已经使用RoundingMode.HALF_EVEN 四舍五入. * 如果提供的值为null,则BigDecimal返回0.
      Parameters:
      value - 要转换的BigDecimal,可以为null.
      scale - 小数点右边的位数.
      roundingMode - 能够放弃精度的数值运算的舍入行为.
      Returns:
      按比例取适当的四舍五入.
    • toScaledBigDecimal

      public static BigDecimal toScaledBigDecimal(Float value)
      将一个Float转换为一个BigDecimal,两个刻度已经用RoundingMode.HALF_EVEN四舍五入了. 如果提供的值为null,则BigDecimal 返回0.
      Parameters:
      value - 要转换的Float,可以为null.
      Returns:
      按比例取适当的四舍五入
    • toScaledBigDecimal

      public static BigDecimal toScaledBigDecimal(Float value, int scale, RoundingMode roundingMode)
      将一个Float转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode. 如果输入值是null,我们只需返回BigDecimal.ZERO.
      Parameters:
      value - 要转换的Float,可以为null.
      scale - 小数点右边的位数.
      roundingMode - 能够放弃精度的数值运算的舍入行为.
      Returns:
      按比例取适当的四舍五入.
    • toScaledBigDecimal

      public static BigDecimal toScaledBigDecimal(Double value)
      将一个Double转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode. 如果输入值是null,我们只需返回BigDecimal.ZERO.
      Parameters:
      value - 要转换的Double,可以为null.
      Returns:
      按比例取适当的四舍五入.
    • toScaledBigDecimal

      public static BigDecimal toScaledBigDecimal(Double value, int scale, RoundingMode roundingMode)
      将一个Double转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode. 如果输入值是null,我们只需返回BigDecimal.ZERO..
      Parameters:
      value - 转换的Double,可以为null.
      scale - 小数点右边的位数.
      roundingMode - 能够放弃精度的数值运算的舍入行为.
      Returns:
      按比例取适当的四舍五入.
    • toScaledBigDecimal

      public static BigDecimal toScaledBigDecimal(String value)
      将一个String转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode. 如果输入值是null,我们只需返回BigDecimal.ZERO.
      Parameters:
      value - 转换的String,可以为null.
      Returns:
      按比例取适当的四舍五入.
    • toScaledBigDecimal

      public static BigDecimal toScaledBigDecimal(String value, int scale, RoundingMode roundingMode)
      将一个String转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode. 如果输入值是null,我们只需返回BigDecimal.ZERO.
      Parameters:
      value - 转换的String,可以为null.
      scale - 小数点右边的位数.
      roundingMode - 能够放弃精度的数值运算的舍入行为.
      Returns:
      按比例取适当的四舍五入.
    • createBigDecimal

      public static BigDecimal createBigDecimal(String text)
      将一个String转换为一个BigDecimal
      Parameters:
      text - a String to convert, may be null
      Returns:
      转换后的BigDecimal(如果输入为null , 则为null)
      Throws:
      NumberFormatException - 如果值不能被转换
    • arrangeCount

      public static long arrangeCount(int n, int m)
      计算排列数,即A(n, m) = n!/(n-m)!
      Parameters:
      n - 总数
      m - 选择的个数
      Returns:
      排列数
    • arrangeCount

      public static long arrangeCount(int n)
      计算排列数,即A(n, n) = n!
      Parameters:
      n - 总数
      Returns:
      排列数
    • arrangeSelect

      public static List<String[]> arrangeSelect(String[] datas, int m)
      排列选择(从列表中选择n个排列)
      Parameters:
      datas - 待选列表
      m - 选择个数
      Returns:
      所有排列列表
    • arrangeSelect

      public static List<String[]> arrangeSelect(String[] datas)
      全排列选择(列表全部参与排列)
      Parameters:
      datas - 待选列表
      Returns:
      所有排列列表
    • combineCount

      public static long combineCount(int n, int m)
      计算组合数,即C(n, m) = n!/((n-m)! * m!)
      Parameters:
      n - 总数
      m - 选择的个数
      Returns:
      组合数
    • combineSelect

      public static List<String[]> combineSelect(String[] datas, int m)
      组合选择(从列表中选择n个组合)
      Parameters:
      datas - 待选列表
      m - 选择个数
      Returns:
      所有组合列表
    • ofBytes

      public static MathKit ofBytes(long bytes)
      获得对应bytes的MathKit
      Parameters:
      bytes - bytes大小,可正可负
      Returns:
      a MathKit
    • ofKilobytes

      public static MathKit ofKilobytes(long kilobytes)
      获得对应kilobytes的MathKit
      Parameters:
      kilobytes - kilobytes大小,可正可负
      Returns:
      a MathKit
    • ofMegabytes

      public static MathKit ofMegabytes(long megabytes)
      获得对应megabytes的MathKit
      Parameters:
      megabytes - megabytes大小,可正可负
      Returns:
      a MathKit
    • ofGigabytes

      public static MathKit ofGigabytes(long gigabytes)
      获得对应gigabytes的MathKit
      Parameters:
      gigabytes - gigabytes大小,可正可负
      Returns:
      a MathKit
    • ofTerabytes

      public static MathKit ofTerabytes(long terabytes)
      获得对应terabytes的MathKit
      Parameters:
      terabytes - terabytes大小,可正可负
      Returns:
      a MathKit
    • format

      public static String format(long size)
      可读的文件大小
      Parameters:
      size - Long类型大小
      Returns:
      大小
    • parse

      public static long parse(String text)
      解析数据大小字符串,转换为bytes大小
      Parameters:
      text - 数据大小字符串,类似于:12KB, 5MB等
      Returns:
      bytes大小
    • parse

      public static MathKit parse(CharSequence text)
      获取指定数据大小文本对应的MathKit对象,如果无单位指定,默认获取Normal.CAPACITY_NAMES

      例如:

       "12KB" -- parses as "12 kilobytes"
       "5MB"  -- parses as "5 megabytes"
       "20"   -- parses as "20 bytes"
       
      Parameters:
      text - the text to parse
      Returns:
      the parsed MathKit
    • parse

      public static MathKit parse(CharSequence text, String defaultUnit)
      Obtain a MathKit from a text string such as 12MB using the specified default Normal.CAPACITY_NAMES if no unit is specified.

      Examples:

       "12KB" -- parses as "12 kilobytes"
       "5MB"  -- parses as "5 megabytes"
       "20"   -- parses as "20 kilobytes" (where the defaultUnit is Normal.CAPACITY_NAMES)
       
      Parameters:
      text - the text to parse
      defaultUnit - the default
      Returns:
      the parsed MathKit
    • isValidNumber

      public static boolean isValidNumber(Number number)
      检查是否为有效的数字 检查Double和Float是否为无限大,或者Not a Number 非数字类型和Null将返回true
      Parameters:
      number - 被检查类型
      Returns:
      检查结果,非数字类型和Null将返回true
    • isBetween

      public static boolean isBetween(int min, int max, int value)
      检查value是否在[min,max]范围内
      Parameters:
      min - 最小值
      max - 最大值
      value - 被检查值
      Returns:
      检查结果,范围内将返回true,否则返回false
    • isBetween

      public static boolean isBetween(long min, long max, long value)
      检查value是否在[min,max]范围内
      Parameters:
      min - 最小值
      max - 最大值
      value - 被检查值
      Returns:
      检查结果,范围内将返回true,否则返回false
    • isBetween

      public static boolean isBetween(float min, float max, float value)
      检查value是否在[min,max]范围内
      Parameters:
      min - 最小值
      max - 最大值
      value - 被检查值
      Returns:
      检查结果,范围内将返回true,否则返回false
    • isBetween

      public static boolean isBetween(double min, double max, double value)
      检查value是否在[min,max]范围内
      Parameters:
      min - 最小值
      max - 最大值
      value - 被检查值
      Returns:
      检查结果,范围内将返回true,否则返回false
    • getCapacity

      public static String getCapacity(String suffix)
      返回标准容量后缀 支持类似于3MB,3M,3m等写法
      Parameters:
      suffix - 单位后缀
      Returns:
      匹配到的容量信息,无法匹配则返回原始信息
    • isOdd

      public static boolean isOdd(int num)
      检查是否为奇数
      Parameters:
      num - 被判断的数值
      Returns:
      是否是奇数
    • isEven

      public static boolean isEven(int num)
      检查是否为偶数
      Parameters:
      num - 被判断的数值
      Returns:
      是否是偶数
    • yuanToCent

      public static long yuanToCent(double yuan)
      金额元转换为分
      Parameters:
      yuan - 金额,单位元
      Returns:
      金额,单位分
    • centToYuan

      public static double centToYuan(long cent)
      金额分转换为元
      Parameters:
      cent - 金额,单位分
      Returns:
      金额,单位元
    • isNegative

      public boolean isNegative()
      是否为负数,不包括0
      Returns:
      负数返回true,否则false
    • toBytes

      public long toBytes()
      返回bytes大小
      Returns:
      bytes大小
    • toKilobytes

      public long toKilobytes()
      返回KB大小
      Returns:
      KB大小
    • toMegabytes

      public long toMegabytes()
      返回MB大小
      Returns:
      MB大小
    • toGigabytes

      public long toGigabytes()
      返回GB大小
      Returns:
      GB大小
    • toTerabytes

      public long toTerabytes()
      返回TB大小
      Returns:
      TB大小