Package org.aoju.bus.core.toolkit
Class MathKit
java.lang.Object
org.aoju.bus.core.toolkit.MathKit
-
Method Summary
Modifier and TypeMethodDescriptionstatic doubleadd(double v1, double v2) 提供精确的加法运算static doubleadd(double v1, float v2) 提供精确的加法运算static doubleadd(float v1, double v2) 提供精确的加法运算static doubleadd(float v1, float v2) 提供精确的加法运算static BigDecimal提供精确的加法运算 如果传入多个值为null或者空,则返回0static BigDecimal提供精确的加法运算 如果传入多个值为null或者空,则返回0static BigDecimal提供精确的加法运算 如果传入多个值为null或者空,则返回0static BigDecimaladd(BigDecimal... args) 提供精确的加法运算 如果传入多个值为null或者空,则返回0static String给数字对象按照指定长度在左侧补0.static Collection<Integer> appendRange(int start, int stop, int step, Collection<Integer> values) 将给定范围内的整数添加到已有集合中static Collection<Integer> appendRange(int start, int stop, Collection<Integer> values) 将给定范围内的整数添加到已有集合中,步进为1static longarrangeCount(int n) 计算排列数,即A(n, n) = n!static longarrangeCount(int n, int m) 计算排列数,即A(n, m) = n!arrangeSelect(String[] datas) 全排列选择(列表全部参与排列)arrangeSelect(String[] datas, int m) 排列选择(从列表中选择n个排列)static intbinaryToInt(String binaryStr) 二进制转intstatic longbinaryToLong(String binaryStr) 二进制转longstatic double计算数学表达式的值,只支持加减乘除和取余static intceilDiv(int v1, int v2) 补充Math.ceilDiv() JDK8中添加了和Math.floorDiv()但却没有ceilDiv()static doublecentToYuan(long cent) 金额分转换为元static longcombineCount(int n, int m) 计算组合数,即C(n, m) = n!combineSelect(String[] datas, int m) 组合选择(从列表中选择n个组合)static intcompare(byte x, byte y) 比较两个值的大小static intcompare(char x, char y) 比较两个值的大小static intcompare(double x, double y) 比较两个值的大小static intcompare(int x, int y) 比较两个值的大小static intcompare(long x, long y) 比较两个值的大小static intcompare(short x, short y) 比较两个值的大小static intcount(int total, int part) 计算等份个数static BigDecimalcreateBigDecimal(String text) 将一个String转换为一个BigDecimalstatic StringdecimalFormat(String pattern, double value) 格式化double 对DecimalFormat做封装static StringdecimalFormat(String pattern, long value) 格式化double 对DecimalFormat做封装static StringdecimalFormat(String pattern, Object value) 格式化double 对DecimalFormat做封装static StringdecimalFormat(String pattern, Object value, RoundingMode roundingMode) 格式化double 对DecimalFormat做封装static StringdecimalFormatMoney(double value) 格式化金额输出,每三位用逗号分隔static doublediv(double v1, double v2) 提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入static doublediv(double v1, double v2, int scale) 提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入static doublediv(double v1, double v2, int scale, RoundingMode roundingMode) 提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度static doublediv(double v1, float v2) 提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入static doublediv(double v1, float v2, int scale) 提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入static doublediv(double v1, float v2, int scale, RoundingMode roundingMode) 提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度static doublediv(float v1, double v2) 提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入static doublediv(float v1, double v2, int scale) 提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入static doublediv(float v1, double v2, int scale, RoundingMode roundingMode) 提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度static doublediv(float v1, float v2) 提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入static doublediv(float v1, float v2, int scale) 提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入static doublediv(float v1, float v2, int scale, RoundingMode roundingMode) 提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度static BigDecimal提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入static BigDecimal提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入static BigDecimaldiv(Number v1, Number v2, int scale, RoundingMode roundingMode) 提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度static BigDecimal提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入static BigDecimal提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入static BigDecimaldiv(String v1, String v2, int scale, RoundingMode roundingMode) 提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度static BigDecimaldiv(BigDecimal v1, BigDecimal v2, int scale, RoundingMode roundingMode) 提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度static intdivisor(int m, int n) 最大公约数static booleanequals(char c1, char c2, boolean ignoreCase) 比较两个字符是否相同static booleanequals(double num1, double num2) 比较大小,值相等 返回true 此方法通过调用Double.doubleToLongBits(double)方法来判断是否相等 此方法判断值相等时忽略精度的,即0.00 == 0static booleanequals(float num1, float num2) 比较大小,值相等 返回true 此方法通过调用Float.floatToIntBits(float)方法来判断是否相等 此方法判断值相等时忽略精度的,即0.00 == 0static booleanequals(long num1, long num2) 比较大小,值相等 返回true 此方法修复传入long型数据由于没有本类型重载方法,导致数据精度丢失static booleanequals(BigDecimal bigNum1, BigDecimal bigNum2) 比较大小,值相等 返回true 此方法通过调用BigDecimal.compareTo(BigDecimal)方法来判断是否相等 此方法判断值相等时忽略精度的,既0.00 == 0static longfactorial(long n) 计算阶乘static longfactorial(long start, long end) 计算阶乘static BigInteger计算阶乘static BigIntegerfactorial(BigInteger start, BigInteger end) 计算范围阶乘static Stringformat(long size) 可读的文件大小static StringformatPercent(double number, int scale) 格式化百分比,小数采用四舍五入方式static StringformatPercent(Number num, Number total, int scale) 求百分比(带精度)(带百分号后缀) (3,10,0) - 30%static BigIntegerfromUnsignedByteArray(byte[] buf) 无符号bytes转BigIntegerstatic BigIntegerfromUnsignedByteArray(byte[] buf, int off, int length) 无符号bytes转BigIntegerstatic 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 StringgetBinaryString(Number number) 获得数字对应的二进制字符串static StringgetCapacity(String suffix) 返回标准容量后缀 支持类似于3MB,3M,3m等写法static booleanisBeside(int number1, int number2) 判断两个数字是否相邻,例如1和2相邻,1和3不相邻 判断方法为做差取绝对值判断是否为1static booleanisBeside(long number1, long number2) 判断两个数字是否相邻,例如1和2相邻,1和3不相邻 判断方法为做差取绝对值判断是否为1static booleanisBetween(double min, double max, double value) 检查value是否在[min,max]范围内static booleanisBetween(float min, float max, float value) 检查value是否在[min,max]范围内static booleanisBetween(int min, int max, int value) 检查value是否在[min,max]范围内static booleanisBetween(long min, long max, long value) 检查value是否在[min,max]范围内static boolean判断字符串是否是浮点数static booleanisEven(int num) 检查是否为偶数static booleanisGreater(BigDecimal bigNum1, BigDecimal bigNum2) 比较大小,参数1 > 参数2 返回truestatic booleanisGreaterOrEqual(BigDecimal bigNum1, BigDecimal bigNum2) 比较大小,参数1 >= 参数2 返回truestatic booleanisIn(BigDecimal value, BigDecimal minInclude, BigDecimal maxInclude) 检查值是否在指定范围内static boolean判断字符串是否是整数 10进制, 不能包含前导零 8进制(以0开头) 16进制(以0x或者0X开头)static booleanisLess(BigDecimal bigNum1, BigDecimal bigNum2) 比较大小,参数1 < 参数2 返回truestatic booleanisLessOrEqual(BigDecimal bigNum1, BigDecimal bigNum2) 比较大小,参数1<=参数2 返回truestatic boolean判断字符串是否是Long类型 10进制, 不能包含前导零 8进制(以0开头) 16进制(以0x或者0X开头)boolean是否为负数,不包括0static booleanisNumber(CharSequence text) 是否为数字static booleanisOdd(int num) 检查是否为奇数static booleanisPrimes(int n) 是否是质数(素数) 质数表的质数又称素数 指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数static booleanisValid(double number) 检查是否为有效的数字 检查double否为无限大,或者Not a Number(NaN)static booleanisValid(float number) 检查是否为有效的数字 检查double否为无限大,或者Not a Number(NaN)static booleanisValidNumber(Number number) 检查是否为有效的数字 检查Double和Float是否为无限大,或者Not a Number 非数字类型和Null将返回truestatic doublemax(double... args) 取最大值static floatmax(float... args) 取最大值static intmax(int... args) 取最大值static longmax(long... args) 取最大值static shortmax(short... args) 取最大值static <T extends Comparable<? super T>>
Tmax(T[] args) 取最大值static doublemin(double... args) 取最小值static floatmin(float... args) 取最小值static intmin(int... args) 取最小值static longmin(long... args) 取最小值static shortmin(short... args) 取最小值static <T extends Comparable<? super T>>
Tmin(T[] numberArray) 取最小值static doublemul(double v1, double v2) 提供精确的乘法运算static doublemul(double v1, float v2) 提供精确的乘法运算static doublemul(float v1, double v2) 提供精确的乘法运算static doublemul(float v1, float v2) 提供精确的乘法运算static BigDecimal提供精确的乘法运算 如果传入多个值为null或者空,则返回0static BigDecimal提供精确的乘法运算 如果传入多个值为null或者空,则返回0static BigDecimal提供精确的乘法运算 如果传入多个值为null或者空,则返回0static BigDecimal提供精确的乘法运算static BigDecimalmul(BigDecimal... args) 提供精确的乘法运算 如果传入多个值为null或者空,则返回0static intmultiple(int m, int n) 最小公倍数static BigIntegernewBigInteger(String text) 创建BigInteger,支持16进制、10进制和8进制,如果传入空白串返回null from Apache Common Langstatic BigDecimalnull2Zero(BigDecimal decimal) 空转0static MathKitofBytes(long bytes) 获得对应bytes的MathKitstatic MathKitofGigabytes(long gigabytes) 获得对应gigabytes的MathKitstatic MathKitofKilobytes(long kilobytes) 获得对应kilobytes的MathKitstatic MathKitofMegabytes(long megabytes) 获得对应megabytes的MathKitstatic MathKitofTerabytes(long terabytes) 获得对应terabytes的MathKitstatic MathKitparse(CharSequence text) 获取指定数据大小文本对应的MathKit对象,如果无单位指定,默认获取Normal.CAPACITY_NAMESstatic MathKitparse(CharSequence text, String defaultUnit) Obtain aMathKitfrom a text string such as12MBusing the specified defaultNormal.CAPACITY_NAMESif no unit is specified.static long解析数据大小字符串,转换为bytes大小static doubleparseDouble(String number) 解析转换数字字符串为long型数字,规则如下:static floatparseFloat(String number) 解析转换数字字符串为long型数字,规则如下:static int解析转换数字字符串为int型数字,规则如下:static long解析转换数字字符串为long型数字,规则如下:static NumberparseNumber(String number) 将指定字符串转换为Number对象 此方法不支持科学计数法static intpartValue(int total, int partCount) 把给定的总数平均分成N份,返回每份的个数 当除以分数有余数时每份+1static intpartValue(int total, int partCount, boolean isPlusOneWhenHasRem) 把给定的总数平均分成N份,返回每份的个数 如果isPlusOneWhenHasRem为true,则当除以分数有余数时每份+1,否则丢弃余数部分static BigDecimal提供精确的幂运算static BigDecimalpow(BigDecimal number, int n) 提供精确的幂运算static intprocessMultiple(int selectNum, int minNum) 可以用于计算双色球、大乐透注数的方法 比如大乐透35选5可以这样调用processMultiple(7,5); 就是数学中的:C75=7*6/2*1static int[]range(int stop) 从0开始给定范围内的整数列表,步进为1static int[]range(int start, int stop) 给定范围内的整数列表,步进为1static int[]range(int start, int stop, int step) 给定范围内的整数列表static BigDecimalround(double v, int scale) 保留固定位数小数 采用四舍五入策略RoundingMode.HALF_UP例如保留2位小数:123.456789 = 123.46static BigDecimalround(double v, int scale, RoundingMode roundingMode) 保留固定位数小数 例如保留四位小数:123.456789 = 123.4567static BigDecimal保留固定位数小数 采用四舍五入策略RoundingMode.HALF_UP例如保留2位小数:123.456789 = 123.46static BigDecimalround(String number, int scale, RoundingMode roundingMode) 保留固定位数小数 例如保留四位小数:123.456789 = 123.4567static BigDecimalround(BigDecimal number, int scale) 保留固定位数小数 采用四舍五入策略RoundingMode.HALF_UP例如保留2位小数:123.456789 = 123.46static BigDecimalround(BigDecimal number, int scale, RoundingMode roundingMode) 保留固定位数小数 例如保留四位小数:123.456789 = 123.4567static BigDecimal保留固定小数位数,舍去多余位数static BigDecimalroundDown(BigDecimal value, int scale) 保留固定小数位数,舍去多余位数static BigDecimalroundHalfEven(Number number, int scale) 四舍六入五成双计算法static BigDecimalroundHalfEven(BigDecimal value, int scale) 四舍六入五成双计算法static StringroundString(double v, int scale) 保留固定位数小数 采用四舍五入策略RoundingMode.HALF_UP例如保留2位小数:123.456789 = 123.46static StringroundString(double v, int scale, RoundingMode roundingMode) 保留固定位数小数 例如保留四位小数:123.456789 = 123.4567static StringroundString(String number, int scale) 保留固定位数小数 采用四舍五入策略RoundingMode.HALF_UP例如保留2位小数:123.456789 = 123.46static StringroundString(String number, int scale, RoundingMode roundingMode) 保留固定位数小数 例如保留四位小数:123.456789 = 123.4567static longsqrt(long x) 平方根算法 推荐使用Math.sqrt(double)static doublesub(double v1, double v2) 提供精确的减法运算static doublesub(double v1, float v2) 提供精确的减法运算static doublesub(float v1, double v2) 提供精确的减法运算static doublesub(float v1, float v2) 提供精确的减法运算static BigDecimal提供精确的减法运算 如果传入多个值为null或者空,则返回0static BigDecimal提供精确的减法运算 如果传入多个值为null或者空,则返回0static BigDecimal提供精确的减法运算 如果传入多个值为null或者空,则返回0static BigDecimalsub(BigDecimal... args) 提供精确的减法运算 如果传入多个值为null或者空,则返回0static BigDecimaltoBigDecimal(Number number) 数字转BigDecimalstatic BigDecimaltoBigDecimal(String number) 数字转BigDecimalstatic BigIntegertoBigInteger(Number number) 数字转BigIntegerstatic BigIntegertoBigInteger(String number) 数字转BigIntegerstatic byte将字符转换为byte类型static byte将字符转换为byte类型longtoBytes()返回bytes大小static byte[]toBytes(int value) int值转byte数组,使用大端字节序(高位字节在前,低位字节在后)static doubleNumber值转换为double float强制转换存在精度问题,此方法避免精度丢失static double将字符串转换为double类型static double将字符串转换为double类型static doubletoDouble(BigDecimal value) 将BigDecimal转换为double类型static doubletoDouble(BigDecimal value, double defaultValue) 将BigDecimal转换为double类型static float将字符串转换为float类型static float将字符串转换为float类型,如果转换失败则返回默认值long返回GB大小static inttoInt(byte[] bytes) byte数组转int,使用大端字节序(高位字节在前,低位字节在后)static int将字符串转换为int类型static int将字符串转换为int类型,如果转换失败则返回默认值long返回KB大小static long将字符串转换为long类型static long将字符串转换为long类型,如果转换失败则返回默认值long返回MB大小static BigDecimaltoScaledBigDecimal(Double value) 将一个Double转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode.static BigDecimaltoScaledBigDecimal(Double value, int scale, RoundingMode roundingMode) 将一个Double转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode.static BigDecimaltoScaledBigDecimal(Float value) 将一个Float转换为一个BigDecimal,两个刻度已经用RoundingMode.HALF_EVEN四舍五入了.static BigDecimaltoScaledBigDecimal(Float value, int scale, RoundingMode roundingMode) 将一个Float转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode.static BigDecimaltoScaledBigDecimal(String value) 将一个String转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode.static BigDecimaltoScaledBigDecimal(String value, int scale, RoundingMode roundingMode) 将一个String转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode.static BigDecimaltoScaledBigDecimal(BigDecimal value) 将一个BigDecimal转换为一个BigDecimal,两个刻度已经使用RoundingMode.HALF_EVEN 四舍五入.static BigDecimaltoScaledBigDecimal(BigDecimal value, int scale, RoundingMode roundingMode) 将一个BigDecimal转换为一个BigDecimal,两个刻度已经使用RoundingMode.HALF_EVEN 四舍五入. * 如果提供的值为null,则BigDecimal返回0.static short将字符转换为short类型static short将字符转换为short类型static String数字转字符串 调用Object.toString(),并去除尾小数点儿后多余的0static String数字转字符串 调用Object.toString()或BigDecimal.toPlainString(),并去除尾小数点儿后多余的0static String数字转字符串 调用Object.toString(),并去除尾小数点儿后多余的0static StringtoString(BigDecimal bigDecimal) BigDecimal数字转字符串 调用BigDecimal.toPlainString(),并去除尾小数点儿后多余的0static StringtoString(BigDecimal bigDecimal, boolean isStripTrailingZeros) BigDecimal数字转字符串 调用BigDecimal.toPlainString(),可选去除尾小数点儿后多余的0long返回TB大小static byte[]toUnsignedByteArray(int length, BigInteger value) 以无符号字节数组的形式返回传入值static byte[]toUnsignedByteArray(BigInteger value) 以无符号字节数组的形式返回传入值static longyuanToCent(double yuan) 金额元转换为分static intzero2One(int value) 如果给定值为0,返回1,否则返回原值
-
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
提供精确的加法运算 如果传入多个值为null或者空,则返回0- Parameters:
v1- 被加数v2- 加数- Returns:
- 和
-
add
提供精确的加法运算 如果传入多个值为null或者空,则返回0- Parameters:
args- 多个被加值- Returns:
- 和
-
add
提供精确的加法运算 如果传入多个值为null或者空,则返回0- Parameters:
args- 多个被加值- Returns:
- 和
-
add
提供精确的加法运算 如果传入多个值为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
提供精确的减法运算 如果传入多个值为null或者空,则返回0- Parameters:
v1- 被减数v2- 减数- Returns:
- 差
-
sub
提供精确的减法运算 如果传入多个值为null或者空,则返回0- Parameters:
args- 多个被减值- Returns:
- 差
-
sub
提供精确的减法运算 如果传入多个值为null或者空,则返回0- Parameters:
args- 多个被减值- Returns:
- 差
-
sub
提供精确的减法运算 如果传入多个值为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
提供精确的乘法运算 如果传入多个值为null或者空,则返回0- Parameters:
v1- 被乘数v2- 乘数- Returns:
- 积
-
mul
提供精确的乘法运算 如果传入多个值为null或者空,则返回0- Parameters:
args- 多个被乘值- Returns:
- 积
-
mul
提供精确的乘法运算- Parameters:
v1- 被乘数v2- 乘数- Returns:
- 积
-
mul
提供精确的乘法运算 如果传入多个值为null或者空,则返回0- Parameters:
args- 多个被乘值- Returns:
- 积
-
mul
提供精确的乘法运算 如果传入多个值为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
提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入- Parameters:
v1- 被除数v2- 除数- Returns:
- 两个参数的商
-
div
提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后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
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入- Parameters:
v1- 被除数v2- 除数scale- 精确度,如果为负值,取绝对值- Returns:
- 两个参数的商
-
div
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入- Parameters:
v1- 被除数v2- 除数scale- 精确度,如果为负值,取绝对值- Returns:
- 两个参数的商
-
div
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度- Parameters:
v1- 被除数v2- 除数scale- 精确度,如果为负值,取绝对值roundingMode- 保留小数的模式RoundingMode- Returns:
- 两个参数的商
-
div
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度- Parameters:
v1- 被除数v2- 除数scale- 精确度,如果为负值,取绝对值roundingMode- 保留小数的模式RoundingMode- Returns:
- 两个参数的商
-
div
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度- Parameters:
v1- 被除数v2- 除数scale- 精确度,如果为负值,取绝对值roundingMode- 保留小数的模式RoundingMode- Returns:
- 两个参数的商
-
div
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度- Parameters:
v1- 被除数v2- 除数scale- 精确度,如果为负值,取绝对值roundingMode- 保留小数的模式RoundingMode- Returns:
- 两个参数的商
-
div
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度- Parameters:
v1- 被除数v2- 除数scale- 精确度,如果为负值,取绝对值roundingMode- 保留小数的模式RoundingMode- Returns:
- 两个参数的商
-
div
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度- Parameters:
v1- 被除数v2- 除数scale- 精确度,如果为负值,取绝对值roundingMode- 保留小数的模式RoundingMode- Returns:
- 两个参数的商
-
div
提供(相对)精确的除法运算,当发生除不尽的情况时,由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
保留固定位数小数 采用四舍五入策略RoundingMode.HALF_UP例如保留2位小数:123.456789 = 123.46- Parameters:
v- 值scale- 保留小数位数- Returns:
- 新值
-
roundString
保留固定位数小数 采用四舍五入策略RoundingMode.HALF_UP例如保留2位小数:123.456789 = 123.46- Parameters:
v- 值scale- 保留小数位数- Returns:
- 新值
-
round
保留固定位数小数 采用四舍五入策略RoundingMode.HALF_UP例如保留2位小数:123.456789 = 123.46- Parameters:
number- 数字值的字符串表现形式scale- 保留小数位数- Returns:
- 新值
-
round
保留固定位数小数 采用四舍五入策略RoundingMode.HALF_UP例如保留2位小数:123.456789 = 123.46- Parameters:
number- 数字值scale- 保留小数位数- Returns:
- 新值
-
roundString
保留固定位数小数 采用四舍五入策略RoundingMode.HALF_UP例如保留2位小数:123.456789 = 123.46- Parameters:
number- 数字值的字符串表现形式scale- 保留小数位数- Returns:
- 新值
-
round
保留固定位数小数 例如保留四位小数:123.456789 = 123.4567- Parameters:
v- 值scale- 保留小数位数roundingMode- 保留小数的模式RoundingMode- Returns:
- 新值
-
roundString
保留固定位数小数 例如保留四位小数:123.456789 = 123.4567- Parameters:
v- 值scale- 保留小数位数roundingMode- 保留小数的模式RoundingMode- Returns:
- 新值
-
round
保留固定位数小数 例如保留四位小数:123.456789 = 123.4567- Parameters:
number- 数字值的字符串表现形式scale- 保留小数位数,如果传入小于0,则默认0roundingMode- 保留小数的模式RoundingMode,如果传入null则默认四舍五入- Returns:
- 新值
-
round
保留固定位数小数 例如保留四位小数:123.456789 = 123.4567- Parameters:
number- 数字值scale- 保留小数位数,如果传入小于0,则默认0roundingMode- 保留小数的模式RoundingMode,如果传入null则默认四舍五入- Returns:
- 新值
-
roundString
保留固定位数小数 例如保留四位小数:123.456789 = 123.4567- Parameters:
number- 数字值的字符串表现形式scale- 保留小数位数roundingMode- 保留小数的模式RoundingMode- Returns:
- 新值
-
roundHalfEven
四舍六入五成双计算法四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则
算法规则: 四舍六入五考虑, 五后非零就进一, 五后皆零看奇偶, 五前为偶应舍去, 五前为奇要进一
- Parameters:
number- 需要科学计算的数据scale- 保留的小数位- Returns:
- 结果
-
roundHalfEven
四舍六入五成双计算法四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则
算法规则: 四舍六入五考虑, 五后非零就进一, 五后皆零看奇偶, 五前为偶应舍去, 五前为奇要进一
- Parameters:
value- 需要科学计算的数据scale- 保留的小数位- Returns:
- 结果
-
roundDown
保留固定小数位数,舍去多余位数- Parameters:
number- 需要科学计算的数据scale- 保留的小数位- Returns:
- 结果
-
roundDown
保留固定小数位数,舍去多余位数- Parameters:
value- 需要科学计算的数据scale- 保留的小数位- Returns:
- 结果
-
decimalFormat
格式化double 对DecimalFormat做封装- Parameters:
pattern- 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度 0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置- 0 = 取一位整数
- 0.00 = 取一位整数和两位小数
- 00.000 = 取两位整数和三位小数
- # = 取所有整数部分
- #.##% = 以百分比方式计数,并取两位小数
- #.#####E0 = 显示为科学计数法,并取五位小数
- ,### = 每三位以逗号进行分隔,例如:299,792,458
- 光速大小为每秒,###米 = 将格式嵌入文本
value- 值- Returns:
- 格式化后的值
-
decimalFormat
格式化double 对DecimalFormat做封装- Parameters:
pattern- 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度 0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置- 0 = 取一位整数
- 0.00 = 取一位整数和两位小数
- 00.000 = 取两位整数和三位小数
- # = 取所有整数部分
- #.##% = 以百分比方式计数,并取两位小数
- #.#####E0 = 显示为科学计数法,并取五位小数
- ,### = 每三位以逗号进行分隔,例如:299,792,458
- 光速大小为每秒,###米 = 将格式嵌入文本
value- 值- Returns:
- 格式化后的值
-
decimalFormat
格式化double 对DecimalFormat做封装- Parameters:
pattern- 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度 0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置- 0 =》 取一位整数
- 0.00 =》 取一位整数和两位小数
- 00.000 =》 取两位整数和三位小数
- # =》 取所有整数部分
- #.##% =》 以百分比方式计数,并取两位小数
- #.#####E0 =》 显示为科学计数法,并取五位小数
- ,### =》 每三位以逗号进行分隔,例如:299,792,458
- 光速大小为每秒,###米 =》 将格式嵌入文本
value- 值,支持BigDecimal、BigInteger、Number等类型- Returns:
- 格式化后的值
-
decimalFormat
格式化double 对DecimalFormat做封装- Parameters:
pattern- 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度 0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置- 0 =》 取一位整数
- 0.00 =》 取一位整数和两位小数
- 00.000 =》 取两位整数和三位小数
- # =》 取所有整数部分
- #.##% =》 以百分比方式计数,并取两位小数
- #.#####E0 =》 显示为科学计数法,并取五位小数
- ,### =》 每三位以逗号进行分隔,例如:299,792,458
- 光速大小为每秒,###米 =》 将格式嵌入文本
value- 值,支持BigDecimal、BigInteger、Number等类型roundingMode- 保留小数的方式枚举- Returns:
- 格式化后的值
-
decimalFormatMoney
格式化金额输出,每三位用逗号分隔- Parameters:
value- 金额- Returns:
- 格式化后的值
-
formatPercent
格式化百分比,小数采用四舍五入方式- Parameters:
number- 值scale- 保留小数位数- Returns:
- 百分比
-
formatPercent
-
isNumber
-
isInteger
-
isLong
-
isDouble
-
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
生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组- 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
将给定范围内的整数添加到已有集合中,步进为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
计算阶乘n! = n * (n-1) * ... * 2 * 1
- Parameters:
n- 阶乘起始- Returns:
- 结果
-
factorial
计算范围阶乘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
-
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
-
binaryToInt
-
binaryToLong
二进制转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
比较大小,参数1 > 参数2 返回true- Parameters:
bigNum1- 数字1bigNum2- 数字2- Returns:
- 是否大于
-
isGreaterOrEqual
比较大小,参数1 >= 参数2 返回true- Parameters:
bigNum1- 数字1bigNum2- 数字2- Returns:
- 是否大于等于
-
isLess
比较大小,参数1 < 参数2 返回true- Parameters:
bigNum1- 数字1bigNum2- 数字2- Returns:
- 是否小于
-
isLessOrEqual
比较大小,参数1<=参数2 返回true- Parameters:
bigNum1- 数字1bigNum2- 数字2- Returns:
- 是否小于等于
-
isIn
检查值是否在指定范围内- Parameters:
value- 值minInclude- 最小值(包含)maxInclude- 最大值(包含)- Returns:
- 经过检查后的值
-
equals
比较大小,值相等 返回true 此方法通过调用BigDecimal.compareTo(BigDecimal)方法来判断是否相等 此方法判断值相等时忽略精度的,既0.00 == 0- Parameters:
bigNum1- 数字1bigNum2- 数字2- Returns:
- 是否相等
-
equals
public static boolean equals(double num1, double num2) 比较大小,值相等 返回true 此方法通过调用Double.doubleToLongBits(double)方法来判断是否相等 此方法判断值相等时忽略精度的,即0.00 == 0- Parameters:
num1- 数字1num2- 数字2- Returns:
- 是否相等
-
equals
public static boolean equals(float num1, float num2) 比较大小,值相等 返回true 此方法通过调用Float.floatToIntBits(float)方法来判断是否相等 此方法判断值相等时忽略精度的,即0.00 == 0- Parameters:
num1- 数字1num2- 数字2- Returns:
- 是否相等
-
equals
public static boolean equals(long num1, long num2) 比较大小,值相等 返回true 此方法修复传入long型数据由于没有本类型重载方法,导致数据精度丢失- Parameters:
num1- 数字1num2- 数字2- Returns:
- 是否相等
-
equals
public static boolean equals(char c1, char c2, boolean ignoreCase) 比较两个字符是否相同- Parameters:
c1- 字符1c2- 字符2ignoreCase- 是否忽略大小写- Returns:
- 是否相同
- See Also:
-
min
取最小值- 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
取最大值- 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
数字转字符串 调用Object.toString(),并去除尾小数点儿后多余的0- Parameters:
number- A NumberdefaultValue- 如果number参数为null,返回此默认值- Returns:
- A String.
-
toString
数字转字符串 调用Object.toString(),并去除尾小数点儿后多余的0- Parameters:
number- A Number- Returns:
- A String.
-
toString
数字转字符串 调用Object.toString()或BigDecimal.toPlainString(),并去除尾小数点儿后多余的0- Parameters:
number- A NumberisStripTrailingZeros- 是否去除末尾多余0,例如5.0返回5- Returns:
- A String
-
toString
BigDecimal数字转字符串 调用BigDecimal.toPlainString(),并去除尾小数点儿后多余的0- Parameters:
bigDecimal- ABigDecimal- Returns:
- A String.
-
toString
BigDecimal数字转字符串 调用BigDecimal.toPlainString(),可选去除尾小数点儿后多余的0- Parameters:
bigDecimal- ABigDecimalisStripTrailingZeros- 是否去除末尾多余0,例如5.0返回5- Returns:
- A String
-
toBigDecimal
数字转BigDecimal- Parameters:
number- 数字- Returns:
BigDecimal
-
toBigDecimal
数字转BigDecimal- Parameters:
number- 数字- Returns:
BigDecimal
-
toBigInteger
数字转BigInteger- Parameters:
number- 数字- Returns:
BigInteger
-
toBigInteger
数字转BigInteger- Parameters:
number- 数字- Returns:
BigInteger
-
count
public static int count(int total, int part) 计算等份个数- Parameters:
total- 总数part- 每份的个数- Returns:
- 分成了几份
-
null2Zero
空转0- Parameters:
decimal-BigDecimal,可以为null- Returns:
BigDecimal参数为空时返回0的值
-
zero2One
public static int zero2One(int value) 如果给定值为0,返回1,否则返回原值- Parameters:
value- 值- Returns:
- 1或非0值
-
newBigInteger
创建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- 数字1number2- 数字2- Returns:
- 是否相邻
-
isBeside
public static boolean isBeside(int number1, int number2) 判断两个数字是否相邻,例如1和2相邻,1和3不相邻 判断方法为做差取绝对值判断是否为1- Parameters:
number1- 数字1number2- 数字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
提供精确的幂运算- Parameters:
number- 底数n- 指数- Returns:
- 幂的积
-
pow
提供精确的幂运算- Parameters:
number- 底数n- 指数- Returns:
- 幂的积
-
parseInt
解析转换数字字符串为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
解析转换数字字符串为long型数字,规则如下:1、0x开头的视为16进制数字 2、0开头的忽略开头的0 3、空串返回0 4、其它情况按照10进制转换
- Parameters:
number- 数字,支持0x开头、0开头和普通十进制- Returns:
- long
-
parseFloat
解析转换数字字符串为long型数字,规则如下:1、0开头的忽略开头的0 2、空串返回0 3、其它情况按照10进制转换 4、.123形式返回0.123(按照小于0的小数对待)
- Parameters:
number- 数字,支持0x开头、0开头和普通十进制- Returns:
- long
-
parseDouble
解析转换数字字符串为long型数字,规则如下:1、0开头的忽略开头的0 2、空串返回0 3、其它情况按照10进制转换 4、.123形式返回0.123(按照小于0的小数对待)
- Parameters:
number- 数字,支持0x开头、0开头和普通十进制- Returns:
- long
-
parseNumber
将指定字符串转换为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
以无符号字节数组的形式返回传入值- Parameters:
value- 需要转换的值- Returns:
- 无符号bytes
-
toUnsignedByteArray
以无符号字节数组的形式返回传入值- Parameters:
length- bytes长度value- 需要转换的值- Returns:
- 无符号bytes
-
fromUnsignedByteArray
无符号bytes转BigInteger- Parameters:
buf- buf 无符号bytes- Returns:
BigInteger
-
fromUnsignedByteArray
无符号bytes转BigInteger- Parameters:
buf- 无符号bytesoff- 起始位置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
计算数学表达式的值,只支持加减乘除和取余calculate("(0*1--3)-5/-4-(3*(-2.13))") -》 10.64- Parameters:
expression- 数学表达式- Returns:
- 结果
-
addZero
-
toInt
将字符串转换为int类型MathKit.toInt(null) = 0 MathKit.toInt("") = 0 MathKit.toInt("1") = 1- Parameters:
text- 要转换的字符串可以为空- Returns:
- 字符串表示的整型数,如果转换失败则默认值
-
toInt
将字符串转换为int类型,如果转换失败则返回默认值MathKit.toInt(null, 1) = 1 MathKit.toInt("", 1) = 1 MathKit.toInt("1", 0) = 1- Parameters:
text- 要转换的字符串可以为空defaultValue- 默认值- Returns:
- 字符串表示的int,如果转换失败则默认值
-
toLong
将字符串转换为long类型MathKit.toLong(null) = 0L MathKit.toLong("") = 0L MathKit.toLong("1") = 1L- Parameters:
text- 要转换的字符串可以为空- Returns:
- 字符串表示的long,如果转换失败则默认值
-
toLong
将字符串转换为long类型,如果转换失败则返回默认值MathKit.toInt(null, 1) = 1 MathKit.toInt("", 1) = 1 MathKit.toInt("1", 0) = 1- Parameters:
text- 要转换的字符串可以为空defaultValue- 默认值- Returns:
- 字符串表示的long,如果转换失败则默认值
-
toFloat
将字符串转换为float类型MathKit.toFloat(null) = 0.0f MathKit.toFloat("") = 0.0f MathKit.toFloat("1.5") = 1.5f- Parameters:
text- 要转换的字符串可以为空- Returns:
- 字符串表示的float,如果转换失败则默认值
-
toFloat
将字符串转换为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
将字符串转换为double类型MathKit.toDouble(null) = 0.0d MathKit.toDouble("") = 0.0d MathKit.toDouble("1.5") = 1.5d- Parameters:
text- 要转换的字符串可以为空- Returns:
- 字符串表示的double,如果转换失败则默认值
-
toDouble
将字符串转换为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
将BigDecimal转换为double类型MathKit.toDouble(null) = 0.0d MathKit.toDouble(BigDecimal.valudOf(8.5d)) = 8.5d
- Parameters:
value- 要转换的字符可以为空- Returns:
- 字符串表示的double,如果转换失败则默认值
-
toDouble
将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
Number值转换为double float强制转换存在精度问题,此方法避免精度丢失- Parameters:
value- 被转换的float值- Returns:
- double值
-
toByte
将字符转换为byte类型MathKit.toByte(null) = 0 MathKit.toByte("") = 0 MathKit.toByte("1") = 1- Parameters:
text- 要转换的字符可以为空- Returns:
- 字符串表示的byte,如果转换失败则默认值
-
toByte
将字符转换为byte类型MathKit.toByte(null, 1) = 1 MathKit.toByte("", 1) = 1 MathKit.toByte("1", 0) = 1- Parameters:
text- 要转换的字符可以为空defaultValue- 默认值- Returns:
- 字符串表示的byte,如果转换失败则默认值
-
toShort
将字符转换为short类型MathKit.toShort(null) = 0 MathKit.toShort("") = 0 MathKit.toShort("1") = 1- Parameters:
text- 要转换的字符可以为空- Returns:
- 字符串表示的short,如果转换失败则默认值
-
toShort
将字符转换为short类型MathKit.toShort(null, 1) = 1 MathKit.toShort("", 1) = 1 MathKit.toShort("1", 0) = 1- Parameters:
text- 要转换的字符可以为空defaultValue- 默认值- Returns:
- 字符串表示的short,如果转换失败则默认值
-
toScaledBigDecimal
将一个BigDecimal转换为一个BigDecimal,两个刻度已经使用RoundingMode.HALF_EVEN 四舍五入. 如果提供的值为null,则BigDecimal返回0- Parameters:
value- 要转换的字符可以为空- Returns:
- 字符串表示的BigDecimal,如果转换失败则默认值
-
toScaledBigDecimal
将一个BigDecimal转换为一个BigDecimal,两个刻度已经使用RoundingMode.HALF_EVEN 四舍五入. * 如果提供的值为null,则BigDecimal返回0.- Parameters:
value- 要转换的BigDecimal,可以为null.scale- 小数点右边的位数.roundingMode- 能够放弃精度的数值运算的舍入行为.- Returns:
- 按比例取适当的四舍五入.
-
toScaledBigDecimal
将一个Float转换为一个BigDecimal,两个刻度已经用RoundingMode.HALF_EVEN四舍五入了. 如果提供的值为null,则BigDecimal 返回0.- Parameters:
value- 要转换的Float,可以为null.- Returns:
- 按比例取适当的四舍五入
-
toScaledBigDecimal
将一个Float转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode. 如果输入值是null,我们只需返回BigDecimal.ZERO.- Parameters:
value- 要转换的Float,可以为null.scale- 小数点右边的位数.roundingMode- 能够放弃精度的数值运算的舍入行为.- Returns:
- 按比例取适当的四舍五入.
-
toScaledBigDecimal
将一个Double转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode. 如果输入值是null,我们只需返回BigDecimal.ZERO.- Parameters:
value- 要转换的Double,可以为null.- Returns:
- 按比例取适当的四舍五入.
-
toScaledBigDecimal
将一个Double转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode. 如果输入值是null,我们只需返回BigDecimal.ZERO..- Parameters:
value- 转换的Double,可以为null.scale- 小数点右边的位数.roundingMode- 能够放弃精度的数值运算的舍入行为.- Returns:
- 按比例取适当的四舍五入.
-
toScaledBigDecimal
将一个String转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode. 如果输入值是null,我们只需返回BigDecimal.ZERO.- Parameters:
value- 转换的String,可以为null.- Returns:
- 按比例取适当的四舍五入.
-
toScaledBigDecimal
将一个String转换为一个BigDecimal,其比例尺为指定值,并应用RoundingMode. 如果输入值是null,我们只需返回BigDecimal.ZERO.- Parameters:
value- 转换的String,可以为null.scale- 小数点右边的位数.roundingMode- 能够放弃精度的数值运算的舍入行为.- Returns:
- 按比例取适当的四舍五入.
-
createBigDecimal
将一个String转换为一个BigDecimal- Parameters:
text- aStringto 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
-
arrangeSelect
-
combineCount
public static long combineCount(int n, int m) 计算组合数,即C(n, m) = n!/((n-m)! * m!)- Parameters:
n- 总数m- 选择的个数- Returns:
- 组合数
-
combineSelect
-
ofBytes
-
ofKilobytes
-
ofMegabytes
-
ofGigabytes
-
ofTerabytes
-
format
-
parse
解析数据大小字符串,转换为bytes大小- Parameters:
text- 数据大小字符串,类似于:12KB, 5MB等- Returns:
- bytes大小
-
parse
获取指定数据大小文本对应的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
Obtain aMathKitfrom a text string such as12MBusing the specified defaultNormal.CAPACITY_NAMESif no unit is specified.Examples:
"12KB" -- parses as "12 kilobytes" "5MB" -- parses as "5 megabytes" "20" -- parses as "20 kilobytes" (where the
defaultUnitisNormal.CAPACITY_NAMES)- Parameters:
text- the text to parsedefaultUnit- the default- Returns:
- the parsed
MathKit
-
isValidNumber
检查是否为有效的数字 检查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
-
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大小
-