public class NumberUtils extends Object
数值操作工具类
| 限定符和类型 | 字段和说明 |
|---|---|
private static int |
DEFAULT_DIV_SCALE
默认除法运算精度
|
| 构造器和说明 |
|---|
NumberUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static BigDecimal |
add(BigDecimal... values)
提供精确的加法运算
如果传入多个值为null或者空,则返回0 |
static double |
add(double v1,
double v2)
提供精确的加法运算
|
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... values)
提供精确的加法运算
如果传入多个值为null或者空,则返回0 |
static BigDecimal |
add(Number v1,
Number v2)
提供精确的加法运算
如果传入多个值为null或者空,则返回0 |
static BigDecimal |
add(String... values)
提供精确的加法运算
如果传入多个值为null或者空,则返回0 |
static Collection<Integer> |
appendRange(int start,
int stop,
Collection<Integer> values)
将给定范围内的整数添加到已有集合中,步进为1
|
static Collection<Integer> |
appendRange(int start,
int stop,
int step,
Collection<Integer> values)
将给定范围内的整数添加到已有集合中
|
static int |
binaryToInt(String binaryStr)
二进制转int
|
static long |
binaryToLong(String binaryStr)
二进制转long
|
static int |
ceilDiv(int v1,
int v2)
补充Math.ceilDiv() JDK8中添加了和Math.floorDiv()但却没有ceilDiv()
|
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 String |
decimalFormat(String pattern,
double value)
|
static String |
decimalFormat(String pattern,
long value)
|
static String |
decimalFormat(String pattern,
Object value)
|
static String |
decimalFormatMoney(double value)
格式化金额输出,每三位用逗号分隔
|
static BigDecimal |
div(BigDecimal v1,
BigDecimal v2,
int scale,
RoundingMode roundingMode)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
|
static double |
div(double v1,
double v2)
提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
|
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)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
|
static double |
div(double v1,
double v2,
int scale,
RoundingMode roundingMode)
提供(相对)精确的除法运算,当发生除不尽的情况时,由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 int |
divisor(int m,
int n)
最大公约数
|
static boolean |
equals(BigDecimal bigNum1,
BigDecimal bigNum2)
|
static boolean |
equals(char c1,
char c2,
boolean ignoreCase)
比较两个字符是否相同
|
static long |
factorial(long n)
计算阶乘
n!
|
static long |
factorial(long start,
long end)
计算阶乘
n!
|
static String |
formatPercent(double number,
int scale)
格式化百分比,小数采用四舍五入方式
|
static BigInteger |
fromUnsignedByteArray(byte[] buf)
无符号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 String |
getBinaryStr(Number number)
获得数字对应的二进制字符串
|
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 |
isBlankChar(char c)
已过时。
请使用
CharUtil#isBlankChar(char) |
static boolean |
isBlankChar(int c)
已过时。
请使用
CharUtil#isBlankChar(int) |
static boolean |
isDouble(String s)
判断字符串是否是浮点数
|
static boolean |
isGreater(BigDecimal bigNum1,
BigDecimal bigNum2)
比较大小,参数1 > 参数2 返回true
|
static boolean |
isGreaterOrEqual(BigDecimal bigNum1,
BigDecimal bigNum2)
比较大小,参数1 >= 参数2 返回true
|
static boolean |
isInteger(String s)
判断String是否是整数
支持10进制 |
static boolean |
isLess(BigDecimal bigNum1,
BigDecimal bigNum2)
比较大小,参数1 < 参数2 返回true
|
static boolean |
isLessOrEqual(BigDecimal bigNum1,
BigDecimal bigNum2)
比较大小,参数1<=参数2 返回true
|
static boolean |
isLong(String s)
判断字符串是否是Long类型
支持10进制 |
static boolean |
isNumber(CharSequence str)
是否为数字,支持包括:
1、10进制
2、16进制数字(0x开头)
3、科学计数法形式(1234E3)
4、类型标识形式(123D)
5、正负数标识形式(+123、-234)
|
static boolean |
isPrimes(int n)
是否是质数(素数)
质数表的质数又称素数。 |
static boolean |
isValidNumber(Number number)
检查是否为有效的数字
检查Double和Float是否为无限大,或者Not a Number 非数字类型和Null将返回true |
private static int |
mathNode(int selectNum) |
private static int |
mathSubnode(int selectNum,
int minNum) |
static BigDecimal |
max(BigDecimal... numberArray)
取最大值
|
static double |
max(double... numberArray)
取最大值
|
static float |
max(float... numberArray)
取最大值
|
static int |
max(int... numberArray)
取最大值
|
static long |
max(long... numberArray)
取最大值
|
static short |
max(short... numberArray)
取最大值
|
static <T extends Comparable<? super T>> |
max(T[] numberArray)
取最大值
|
static BigDecimal |
min(BigDecimal... numberArray)
取最小值
|
static double |
min(double... numberArray)
取最小值
|
static float |
min(float... numberArray)
取最小值
|
static int |
min(int... numberArray)
取最小值
|
static long |
min(long... numberArray)
取最小值
|
static short |
min(short... numberArray)
取最小值
|
static <T extends Comparable<? super T>> |
min(T[] numberArray)
取最小值
|
static BigDecimal |
mul(BigDecimal... values)
提供精确的乘法运算
如果传入多个值为null或者空,则返回0 |
static double |
mul(double v1,
double v2)
提供精确的乘法运算
|
static double |
mul(Double v1,
Double v2)
提供精确的乘法运算
如果传入多个值为null或者空,则返回0 |
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... values)
提供精确的乘法运算
如果传入多个值为null或者空,则返回0 |
static BigDecimal |
mul(Number v1,
Number v2)
提供精确的乘法运算
如果传入多个值为null或者空,则返回0 |
static BigDecimal |
mul(String... values)
提供精确的乘法运算
如果传入多个值为null或者空,则返回0 |
static BigDecimal |
mul(String v1,
String v2)
提供精确的乘法运算
|
static int |
multiple(int m,
int n)
最小公倍数
|
static BigInteger |
newBigInteger(String str)
创建
BigInteger,支持16进制、10进制和8进制,如果传入空白串返回nullfrom Apache Common Lang |
static BigDecimal |
null2Zero(BigDecimal decimal)
空转0
|
static int |
parseInt(String number)
解析转换数字字符串为int型数字,规则如下:
1、0x开头的视为16进制数字
2、0开头的视为8进制数字
3、其它情况按照10进制转换
4、空串返回0
5、.123形式返回0(按照小于0的小数对待)
6、123.56截取小数点之前的数字,忽略小数部分
|
static long |
parseLong(String number)
解析转换数字字符串为long型数字,规则如下:
1、0x开头的视为16进制数字
2、0开头的视为8进制数字
3、空串返回0
4、其它情况按照10进制转换
|
static Number |
parseNumber(String numberStr)
将指定字符串转换为
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(BigDecimal number,
int n)
提供精确的幂运算
|
static BigDecimal |
pow(Number 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)
给定范围内的整数列表
|
private static String |
removeNumberFlag(String number)
去掉数字尾部的数字标识,例如12D,44.0F,22L中的最后一个字母
|
static int |
reverseNum(int paraNum)
倒序输出
|
static BigDecimal |
round(BigDecimal number,
int scale)
|
static BigDecimal |
round(BigDecimal number,
int scale,
RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
static BigDecimal |
round(double v,
int scale)
|
static BigDecimal |
round(double v,
int scale,
RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
static BigDecimal |
round(String numberStr,
int scale)
|
static BigDecimal |
round(String numberStr,
int scale,
RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
static BigDecimal |
roundDown(BigDecimal value,
int scale)
保留固定小数位数,舍去多余位数
|
static BigDecimal |
roundDown(Number number,
int scale)
保留固定小数位数,舍去多余位数
|
static BigDecimal |
roundHalfEven(BigDecimal value,
int scale)
四舍六入五成双计算法
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
|
static BigDecimal |
roundHalfEven(Number number,
int scale)
四舍六入五成双计算法
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
|
static String |
roundStr(double v,
int scale)
|
static String |
roundStr(double v,
int scale,
RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
static String |
roundStr(String numberStr,
int scale)
|
static String |
roundStr(String numberStr,
int scale,
RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
static long |
sqrt(long x)
平方根算法
推荐使用 Math.sqrt(double) |
static BigDecimal |
sub(BigDecimal... values)
提供精确的减法运算
如果传入多个值为null或者空,则返回0 |
static double |
sub(double v1,
double v2)
提供精确的减法运算
|
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... values)
提供精确的减法运算
如果传入多个值为null或者空,则返回0 |
static BigDecimal |
sub(Number v1,
Number v2)
提供精确的减法运算
如果传入多个值为null或者空,则返回0 |
static BigDecimal |
sub(String... values)
提供精确的减法运算
如果传入多个值为null或者空,则返回0 |
static BigDecimal |
toBigDecimal(Number number)
数字转
BigDecimal |
static BigDecimal |
toBigDecimal(String number)
数字转
BigDecimal |
static byte |
toByte(String str) |
static byte |
toByte(String str,
byte defaultValue) |
static byte[] |
toBytes(int value)
int值转byte数组,使用大端字节序(高位字节在前,低位字节在后)
见:http://www.ruanyifeng.com/blog/2016/11/byte-order.html |
static double |
toDouble(String str) |
static double |
toDouble(String str,
double defaultValue) |
static float |
toFloat(String str) |
static float |
toFloat(String str,
float defaultValue) |
static int |
toInt(byte[] bytes)
byte数组转int,使用大端字节序(高位字节在前,低位字节在后)
见:http://www.ruanyifeng.com/blog/2016/11/byte-order.html |
static int |
toInt(String str)
字符转int
|
static int |
toInt(String str,
int defaultValue)
字符转int
|
static long |
toLong(String str)
字符转数long
|
static long |
toLong(String str,
long defaultValue)
字符转数long
|
static short |
toShort(String str) |
static short |
toShort(String str,
short defaultValue) |
static String |
toStr(Number number)
数字转字符串
调用 Object.toString(),并去除尾小数点儿后多余的0 |
static String |
toStr(Number number,
String defaultValue)
数字转字符串
调用 Object.toString(),并去除尾小数点儿后多余的0 |
static byte[] |
toUnsignedByteArray(BigInteger value)
以无符号字节数组的形式返回传入值。
|
static byte[] |
toUnsignedByteArray(int length,
BigInteger value)
以无符号字节数组的形式返回传入值。
|
static int |
zero2One(int value)
如果给定值为0,返回1,否则返回原值
|
private static final int DEFAULT_DIV_SCALE
public static double add(float v1,
float v2)
v1 - 被加数v2 - 加数public static double add(float v1,
double v2)
v1 - 被加数v2 - 加数public static double add(double v1,
float v2)
v1 - 被加数v2 - 加数public static double add(double v1,
double v2)
v1 - 被加数v2 - 加数public static double add(Double v1, Double v2)
v1 - 被加数v2 - 加数public static BigDecimal add(Number v1, Number v2)
v1 - 被加数v2 - 加数public static BigDecimal add(Number... values)
values - 多个被加值public static BigDecimal add(String... values)
values - 多个被加值public static BigDecimal add(BigDecimal... values)
values - 多个被加值public static double sub(float v1,
float v2)
v1 - 被减数v2 - 减数public static double sub(float v1,
double v2)
v1 - 被减数v2 - 减数public static double sub(double v1,
float v2)
v1 - 被减数v2 - 减数public static double sub(double v1,
double v2)
v1 - 被减数v2 - 减数public static BigDecimal sub(Number v1, Number v2)
v1 - 被减数v2 - 减数public static BigDecimal sub(Number... values)
values - 多个被减值public static BigDecimal sub(String... values)
values - 多个被减值public static BigDecimal sub(BigDecimal... values)
values - 多个被减值public static double mul(float v1,
float v2)
v1 - 被乘数v2 - 乘数public static double mul(float v1,
double v2)
v1 - 被乘数v2 - 乘数public static double mul(double v1,
float v2)
v1 - 被乘数v2 - 乘数public static double mul(double v1,
double v2)
v1 - 被乘数v2 - 乘数public static double mul(Double v1, Double v2)
v1 - 被乘数v2 - 乘数public static BigDecimal mul(Number v1, Number v2)
v1 - 被乘数v2 - 乘数public static BigDecimal mul(Number... values)
values - 多个被乘值public static BigDecimal mul(String v1, String v2)
v1 - 被乘数v2 - 乘数public static BigDecimal mul(String... values)
values - 多个被乘值public static BigDecimal mul(BigDecimal... values)
values - 多个被乘值public static double div(float v1,
float v2)
v1 - 被除数v2 - 除数public static double div(float v1,
double v2)
v1 - 被除数v2 - 除数public static double div(double v1,
float v2)
v1 - 被除数v2 - 除数public static double div(double v1,
double v2)
v1 - 被除数v2 - 除数public static double div(Double v1, Double v2)
v1 - 被除数v2 - 除数public static BigDecimal div(Number v1, Number v2)
v1 - 被除数v2 - 除数public static BigDecimal div(String v1, String v2)
v1 - 被除数v2 - 除数public static double div(float v1,
float v2,
int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public static double div(float v1,
double v2,
int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public static double div(double v1,
float v2,
int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public static double div(double v1,
double v2,
int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public static double div(Double v1, Double v2, int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public static BigDecimal div(Number v1, Number v2, int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public static BigDecimal div(String v1, String v2, int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public static double div(float v1,
float v2,
int scale,
RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static double div(float v1,
double v2,
int scale,
RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static double div(double v1,
float v2,
int scale,
RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static double div(double v1,
double v2,
int scale,
RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static double div(Double v1, Double v2, int scale, RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static BigDecimal div(Number v1, Number v2, int scale, RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static BigDecimal div(String v1, String v2, int scale, RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static BigDecimal div(BigDecimal v1, BigDecimal v2, int scale, RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static int ceilDiv(int v1,
int v2)
v1 - 被除数v2 - 除数public static BigDecimal round(double v, int scale)
v - 值scale - 保留小数位数public static String roundStr(double v, int scale)
v - 值scale - 保留小数位数public static BigDecimal round(String numberStr, int scale)
numberStr - 数字值的字符串表现形式scale - 保留小数位数public static BigDecimal round(BigDecimal number, int scale)
number - 数字值scale - 保留小数位数public static String roundStr(String numberStr, int scale)
numberStr - 数字值的字符串表现形式scale - 保留小数位数public static BigDecimal round(double v, int scale, RoundingMode roundingMode)
v - 值scale - 保留小数位数roundingMode - 保留小数的模式 RoundingModepublic static String roundStr(double v, int scale, RoundingMode roundingMode)
v - 值scale - 保留小数位数roundingMode - 保留小数的模式 RoundingModepublic static BigDecimal round(String numberStr, int scale, RoundingMode roundingMode)
numberStr - 数字值的字符串表现形式scale - 保留小数位数,如果传入小于0,则默认0roundingMode - 保留小数的模式 RoundingMode,如果传入null则默认四舍五入public static BigDecimal round(BigDecimal number, int scale, RoundingMode roundingMode)
number - 数字值scale - 保留小数位数,如果传入小于0,则默认0roundingMode - 保留小数的模式 RoundingMode,如果传入null则默认四舍五入public static String roundStr(String numberStr, int scale, RoundingMode roundingMode)
numberStr - 数字值的字符串表现形式scale - 保留小数位数roundingMode - 保留小数的模式 RoundingModepublic static BigDecimal roundHalfEven(Number number, int scale)
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
算法规则: 四舍六入五考虑, 五后非零就进一, 五后皆零看奇偶, 五前为偶应舍去, 五前为奇要进一。
number - 需要科学计算的数据scale - 保留的小数位public static BigDecimal roundHalfEven(BigDecimal value, int scale)
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
算法规则: 四舍六入五考虑, 五后非零就进一, 五后皆零看奇偶, 五前为偶应舍去, 五前为奇要进一。
value - 需要科学计算的数据scale - 保留的小数位public static BigDecimal roundDown(Number number, int scale)
number - 需要科学计算的数据scale - 保留的小数位public static BigDecimal roundDown(BigDecimal value, int scale)
value - 需要科学计算的数据scale - 保留的小数位public static String decimalFormat(String pattern, double value)
pattern - 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。value - 值public static String decimalFormat(String pattern, long value)
pattern - 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。value - 值public static String decimalFormat(String pattern, Object value)
pattern - 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。value - 值,支持BigDecimal、BigInteger、Number等类型public static String decimalFormatMoney(double value)
value - 金额public static String formatPercent(double number, int scale)
number - 值scale - 保留小数位数public static boolean isNumber(CharSequence str)
1、10进制 2、16进制数字(0x开头) 3、科学计数法形式(1234E3) 4、类型标识形式(123D) 5、正负数标识形式(+123、-234)
str - 字符串值public static boolean isInteger(String s)
s - Stringpublic static boolean isLong(String s)
s - StringLong类型public static boolean isPrimes(int n)
n - 数字public static int[] generateRandomNumber(int begin,
int end,
int size)
begin - 最小数字(包含该数)end - 最大数字(不包含该数)size - 指定产生随机数的个数public static Integer[] generateBySet(int begin, int end, int size)
begin - 最小数字(包含该数)end - 最大数字(不包含该数)size - 指定产生随机数的个数public static int[] range(int stop)
stop - 结束(包含)public static int[] range(int start,
int stop)
start - 开始(包含)stop - 结束(包含)public static int[] range(int start,
int stop,
int step)
start - 开始(包含)stop - 结束(包含)step - 步进public static Collection<Integer> appendRange(int start, int stop, Collection<Integer> values)
start - 开始(包含)stop - 结束(包含)values - 集合public static Collection<Integer> appendRange(int start, int stop, int step, Collection<Integer> values)
start - 开始(包含)stop - 结束(包含)step - 步进values - 集合public static long factorial(long start,
long end)
n! = n * (n-1) * ... * end
start - 阶乘起始end - 阶乘结束,必须小于起始public static long factorial(long n)
n! = n * (n-1) * ... * 2 * 1
n - 阶乘起始public static long sqrt(long x)
Math.sqrt(double)x - 值public static int processMultiple(int selectNum,
int minNum)
selectNum - 选中小球个数minNum - 最少要选中多少个小球public static int divisor(int m,
int n)
m - 第一个值n - 第二个值public static int multiple(int m,
int n)
m - 第一个值n - 第二个值public static String getBinaryStr(Number number)
number - 数字public static int binaryToInt(String binaryStr)
binaryStr - 二进制字符串public static long binaryToLong(String binaryStr)
binaryStr - 二进制字符串public static int compare(char x,
char y)
x - 第一个值y - 第二个值Character.compare(char, char)public static int compare(double x,
double y)
x - 第一个值y - 第二个值Double.compare(double, double)public static int compare(int x,
int y)
x - 第一个值y - 第二个值Integer.compare(int, int)public static int compare(long x,
long y)
x - 第一个值y - 第二个值Long.compare(long, long)public static int compare(short x,
short y)
x - 第一个值y - 第二个值Short.compare(short, short)public static int compare(byte x,
byte y)
x - 第一个值y - 第二个值Byte.compare(byte, byte)public static boolean isGreater(BigDecimal bigNum1, BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public static boolean isGreaterOrEqual(BigDecimal bigNum1, BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public static boolean isLess(BigDecimal bigNum1, BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public static boolean isLessOrEqual(BigDecimal bigNum1, BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public static boolean equals(BigDecimal bigNum1, BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public static boolean equals(char c1,
char c2,
boolean ignoreCase)
c1 - 字符1c2 - 字符2ignoreCase - 是否忽略大小写CharUtils.equals(char, char, boolean)public static <T extends Comparable<? super T>> T min(T[] numberArray)
T - 元素类型numberArray - 数字数组ArrayUtils.min(Comparable[])public static long min(long... numberArray)
numberArray - 数字数组ArrayUtils.min(long...)public static int min(int... numberArray)
numberArray - 数字数组ArrayUtils.min(int...)public static short min(short... numberArray)
numberArray - 数字数组ArrayUtils.min(short...)public static double min(double... numberArray)
numberArray - 数字数组ArrayUtils.min(double...)public static float min(float... numberArray)
numberArray - 数字数组ArrayUtils.min(float...)public static BigDecimal min(BigDecimal... numberArray)
numberArray - 数字数组ArrayUtils.min(Comparable[])public static <T extends Comparable<? super T>> T max(T[] numberArray)
T - 元素类型numberArray - 数字数组ArrayUtils.max(Comparable[])public static long max(long... numberArray)
numberArray - 数字数组ArrayUtils.max(long...)public static int max(int... numberArray)
numberArray - 数字数组ArrayUtils.max(int...)public static short max(short... numberArray)
numberArray - 数字数组ArrayUtils.max(short...)public static double max(double... numberArray)
numberArray - 数字数组ArrayUtils.max(double...)public static float max(float... numberArray)
numberArray - 数字数组ArrayUtils.max(float...)public static BigDecimal max(BigDecimal... numberArray)
numberArray - 数字数组ArrayUtils.max(Comparable[])public static String toStr(Number number, String defaultValue)
Object.toString(),并去除尾小数点儿后多余的0number - A NumberdefaultValue - 如果number参数为null,返回此默认值public static String toStr(Number number)
Object.toString(),并去除尾小数点儿后多余的0number - A Numberpublic static BigDecimal toBigDecimal(Number number)
BigDecimalnumber - 数字BigDecimalpublic static BigDecimal toBigDecimal(String number)
BigDecimalnumber - 数字BigDecimal@Deprecated public static boolean isBlankChar(char c)
CharUtil#isBlankChar(char)c - 字符Character.isWhitespace(int),
Character.isSpaceChar(int)@Deprecated public static boolean isBlankChar(int c)
CharUtil#isBlankChar(int)c - 字符Character.isWhitespace(int),
Character.isSpaceChar(int)public static int count(int total,
int part)
total - 总数part - 每份的个数public static BigDecimal null2Zero(BigDecimal decimal)
decimal - BigDecimal,可以为nullBigDecimal参数为空时返回0的值public static int zero2One(int value)
value - 值public static BigInteger newBigInteger(String str)
BigInteger,支持16进制、10进制和8进制,如果传入空白串返回nullstr - 数字字符串BigIntegerpublic static boolean isBeside(long number1,
long number2)
number1 - 数字1number2 - 数字2public static boolean isBeside(int number1,
int number2)
number1 - 数字1number2 - 数字2public static int partValue(int total,
int partCount)
total - 总数partCount - 份数public static int partValue(int total,
int partCount,
boolean isPlusOneWhenHasRem)
total - 总数partCount - 份数isPlusOneWhenHasRem - 在有余数时是否每份+1public static BigDecimal pow(Number number, int n)
number - 底数n - 指数public static BigDecimal pow(BigDecimal number, int n)
number - 底数n - 指数public static int parseInt(String number) throws NumberFormatException
1、0x开头的视为16进制数字 2、0开头的视为8进制数字 3、其它情况按照10进制转换 4、空串返回0 5、.123形式返回0(按照小于0的小数对待) 6、123.56截取小数点之前的数字,忽略小数部分
number - 数字,支持0x开头、0开头和普通十进制NumberFormatException - 数字格式异常public static long parseLong(String number)
1、0x开头的视为16进制数字 2、0开头的视为8进制数字 3、空串返回0 4、其它情况按照10进制转换
number - 数字,支持0x开头、0开头和普通十进制public static Number parseNumber(String numberStr)
Number 对象numberStr - Number字符串public static byte[] toBytes(int value)
value - 值public static int toInt(byte[] bytes)
bytes - byte数组public static int toInt(String str)
str - 字符型整数public static int toInt(String str, int defaultValue)
str - 字符型整数defaultValue - 默认值public static long toLong(String str)
str - 字符型长整数public static long toLong(String str, long defaultValue)
str - 字符型长整数defaultValue - 默认值public static byte toByte(String str)
public static byte toByte(String str, byte defaultValue)
public static short toShort(String str)
public static short toShort(String str, short defaultValue)
public static double toDouble(String str)
public static double toDouble(String str, double defaultValue)
public static float toFloat(String str)
public static float toFloat(String str, float defaultValue)
public static byte[] toUnsignedByteArray(BigInteger value)
value - 需要转换的值public static byte[] toUnsignedByteArray(int length,
BigInteger value)
length - bytes长度value - 需要转换的值public static BigInteger fromUnsignedByteArray(byte[] buf)
BigIntegerbuf - buf 无符号bytesBigIntegerpublic static BigInteger fromUnsignedByteArray(byte[] buf, int off, int length)
BigIntegerbuf - 无符号bytesoff - 起始位置length - 长度BigIntegerpublic static boolean isValidNumber(Number number)
number - 被检查类型private static int mathSubnode(int selectNum,
int minNum)
private static int mathNode(int selectNum)
private static String removeNumberFlag(String number)
number - 数字字符串public static int reverseNum(int paraNum)
paraNum - Copyright © 2020. All rights reserved.