public class NumberUtil
extends java.lang.Object
BigDecimalnew BigDecimal(0.1)表示的不是0.1而是0.1000000000000000055511151231257827021181583404541015625
这是因为0.1无法准确的表示为double。因此应该使用new BigDecimal(String)。
相关介绍:| 构造器和说明 |
|---|
NumberUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static java.math.BigDecimal |
add(java.math.BigDecimal... values)
提供精确的加法运算
如果传入多个值为null或者空,则返回0 |
static double |
add(double v1,
double v2)
提供精确的加法运算
|
static double |
add(java.lang.Double v1,
java.lang.Double v2)
提供精确的加法运算
|
static double |
add(double v1,
float v2)
提供精确的加法运算
|
static double |
add(float v1,
double v2)
提供精确的加法运算
|
static double |
add(float v1,
float v2)
提供精确的加法运算
|
static java.math.BigDecimal |
add(java.lang.Number... values)
提供精确的加法运算
如果传入多个值为null或者空,则返回0 |
static java.math.BigDecimal |
add(java.lang.Number v1,
java.lang.Number v2)
提供精确的加法运算
如果传入多个值为null或者空,则返回0 |
static java.math.BigDecimal |
add(java.lang.String... values)
提供精确的加法运算
如果传入多个值为null或者空,则返回0 |
static java.util.Collection<java.lang.Integer> |
appendRange(int start,
int stop,
java.util.Collection<java.lang.Integer> values)
将给定范围内的整数添加到已有集合中,步进为1
|
static java.util.Collection<java.lang.Integer> |
appendRange(int start,
int stop,
int step,
java.util.Collection<java.lang.Integer> values)
将给定范围内的整数添加到已有集合中
|
static int |
binaryToInt(java.lang.String binaryStr)
二进制转int
|
static long |
binaryToLong(java.lang.String binaryStr)
二进制转long
|
static int |
count(int total,
int part)
计算等份个数
|
static java.lang.String |
decimalFormat(java.lang.String pattern,
double value)
格式化double
对 DecimalFormat 做封装 |
static java.lang.String |
decimalFormat(java.lang.String pattern,
long value)
格式化double
对 DecimalFormat 做封装 |
static java.lang.String |
decimalFormatMoney(double value)
格式化金额输出,每三位用逗号分隔
|
static java.math.BigDecimal |
div(java.math.BigDecimal v1,
java.math.BigDecimal v2,
int scale,
java.math.RoundingMode roundingMode)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
|
static double |
div(double v1,
double v2)
提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
|
static double |
div(java.lang.Double v1,
java.lang.Double v2)
提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
|
static double |
div(double v1,
double v2,
int scale)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
|
static double |
div(java.lang.Double v1,
java.lang.Double v2,
int scale)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
|
static double |
div(double v1,
double v2,
int scale,
java.math.RoundingMode roundingMode)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
|
static double |
div(java.lang.Double v1,
java.lang.Double v2,
int scale,
java.math.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,
java.math.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,
java.math.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,
java.math.RoundingMode roundingMode)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
|
static java.math.BigDecimal |
div(java.lang.Number v1,
java.lang.Number v2)
提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
|
static java.math.BigDecimal |
div(java.lang.Number v1,
java.lang.Number v2,
int scale)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
|
static java.math.BigDecimal |
div(java.lang.Number v1,
java.lang.Number v2,
int scale,
java.math.RoundingMode roundingMode)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
|
static java.math.BigDecimal |
div(java.lang.String v1,
java.lang.String v2)
提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
|
static java.math.BigDecimal |
div(java.lang.String v1,
java.lang.String v2,
int scale)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
|
static java.math.BigDecimal |
div(java.lang.String v1,
java.lang.String v2,
int scale,
java.math.RoundingMode roundingMode)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
|
static int |
divisor(int m,
int n)
最大公约数
|
static boolean |
equals(java.math.BigDecimal bigNum1,
java.math.BigDecimal bigNum2)
比较大小,值相等 返回true
此方法通过调用 BigDecimal.compareTo(BigDecimal)方法来判断是否相等此方法判断值相等时忽略精度的,既0.00 == 0 |
static long |
factorial(long n)
计算阶乘
n!
|
static long |
factorial(long start,
long end)
计算阶乘
n!
|
static java.lang.String |
formatPercent(double number,
int scale)
格式化百分比,小数采用四舍五入方式
|
static java.lang.Integer[] |
generateBySet(int begin,
int end,
int size)
生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
|
static int[] |
generateRandomNumber(int begin,
int end,
int size)
生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
|
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(byte x,
byte x1,
byte x2) |
static boolean |
isBetween(char x,
char x1,
char x2) |
static boolean |
isBetween(double x,
double x1,
double x2) |
static boolean |
isBetween(float x,
float x1,
float x2) |
static boolean |
isBetween(int x,
int x1,
int x2) |
static boolean |
isBetween(long x,
long x1,
long x2) |
static boolean |
isBetween(short x,
short x1,
short x2) |
static <T extends java.lang.Comparable<T>> |
isBetween(T x,
T x1,
T x2) |
static boolean |
isDouble(java.lang.String s)
判断字符串是否是浮点数
|
static boolean |
isGreater(java.math.BigDecimal bigNum1,
java.math.BigDecimal bigNum2)
比较大小,参数1 > 参数2 返回true
|
static boolean |
isGreaterOrEqual(java.math.BigDecimal bigNum1,
java.math.BigDecimal bigNum2)
比较大小,参数1 >= 参数2 返回true
|
static boolean |
isInteger(java.lang.String s)
判断String是否是整数
|
static boolean |
isLess(java.math.BigDecimal bigNum1,
java.math.BigDecimal bigNum2)
比较大小,参数1 < 参数2 返回true
|
static boolean |
isLessOrEqual(java.math.BigDecimal bigNum1,
java.math.BigDecimal bigNum2)
比较大小,参数1<=参数2 返回true
|
static boolean |
isLong(java.lang.String s)
判断字符串是否是Long类型
|
static boolean |
isNumber(java.lang.String str)
是否为数字
|
static boolean |
isPrimes(int n)
是否是质数
质数表的质数又称素数。 |
static boolean |
isValid(java.lang.Number number)
数字是否是有效的
检查Double和Float是否为无限大,或者Not a Number |
static java.math.BigDecimal |
max(java.math.BigDecimal a,
java.math.BigDecimal b)
get the max one from a and b
|
static java.math.BigDecimal |
min(java.math.BigDecimal a,
java.math.BigDecimal b)
get the min one from a and b
|
static java.math.BigDecimal |
mul(java.math.BigDecimal... values)
提供精确的乘法运算
如果传入多个值为null或者空,则返回0 |
static double |
mul(double v1,
double v2)
提供精确的乘法运算
|
static double |
mul(java.lang.Double v1,
java.lang.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 java.math.BigDecimal |
mul(java.lang.Number... values)
提供精确的乘法运算
如果传入多个值为null或者空,则返回0 |
static java.math.BigDecimal |
mul(java.lang.Number v1,
java.lang.Number v2)
提供精确的乘法运算
如果传入多个值为null或者空,则返回0 |
static java.math.BigDecimal |
mul(java.lang.String... values)
提供精确的乘法运算
如果传入多个值为null或者空,则返回0 |
static java.math.BigDecimal |
mul(java.lang.String v1,
java.lang.String v2)
提供精确的乘法运算
|
static int |
multiple(int m,
int n)
最小公倍数
|
static java.math.BigInteger |
newBigInteger(java.lang.String str)
创建
BigInteger,支持16进制、10进制和8进制,如果传入空白串返回nullfrom Apache Common Lang |
static java.math.BigDecimal |
null2Zero(java.math.BigDecimal decimal)
空转0
|
static int |
parseInt(java.lang.String number)
解析转换数字字符串为int型数字
|
static int[] |
parseInt(java.lang.String[] numbers) |
static long |
parseLong(java.lang.String number)
解析转换数字字符串为long型数字
|
static long[] |
parseLong(java.lang.String[] numbers) |
static int |
partValue(int total,
int partCount)
把给定的总数平均分成N份,返回每份的个数
当除以分数有余数时每份+1 |
static int |
partValue(int total,
int partCount,
boolean isPlusOneWhenHasRem)
把给定的总数平均分成N份,返回每份的个数
如果isPlusOneWhenHasRem为true,则当除以分数有余数时每份+1,否则丢弃余数部分 |
static java.math.BigDecimal |
pow(java.math.BigDecimal number,
int n)
提供精确的幂运算
|
static java.math.BigDecimal |
pow(java.lang.Number number,
int n)
提供精确的幂运算
|
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 java.math.BigDecimal |
round(java.math.BigDecimal number,
int scale)
保留固定位数小数
采用四舍五入策略 RoundingMode.HALF_UP例如保留2位小数:123.456789 =》 123.46 |
static java.math.BigDecimal |
round(java.math.BigDecimal number,
int scale,
java.math.RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
static java.math.BigDecimal |
round(double v,
int scale)
保留固定位数小数
采用四舍五入策略 RoundingMode.HALF_UP例如保留2位小数:123.456789 =》 123.46 |
static java.math.BigDecimal |
round(double v,
int scale,
java.math.RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
static java.math.BigDecimal |
round(java.lang.String numberStr,
int scale)
保留固定位数小数
采用四舍五入策略 RoundingMode.HALF_UP例如保留2位小数:123.456789 =》 123.46 |
static java.math.BigDecimal |
round(java.lang.String numberStr,
int scale,
java.math.RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
static java.math.BigDecimal |
roundDown(java.math.BigDecimal value,
int scale)
保留固定小数位数,舍去多余位数
|
static java.math.BigDecimal |
roundDown(java.lang.Number number,
int scale)
保留固定小数位数,舍去多余位数
|
static java.math.BigDecimal |
roundHalfEven(java.math.BigDecimal value,
int scale)
四舍六入五成双计算法
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
|
static java.math.BigDecimal |
roundHalfEven(java.lang.Number number,
int scale)
四舍六入五成双计算法
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
|
static java.lang.String |
roundStr(java.math.BigDecimal number,
int scale) |
static java.lang.String |
roundStr(java.math.BigDecimal number,
int scale,
java.math.RoundingMode roundingMode) |
static java.lang.String |
roundStr(double v,
int scale)
保留固定位数小数
采用四舍五入策略 RoundingMode.HALF_UP例如保留2位小数:123.456789 =》 123.46 |
static java.lang.String |
roundStr(double v,
int scale,
java.math.RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
static java.lang.String |
roundStr(java.lang.String numberStr,
int scale)
保留固定位数小数
采用四舍五入策略 RoundingMode.HALF_UP例如保留2位小数:123.456789 =》 123.46 |
static java.lang.String |
roundStr(java.lang.String numberStr,
int scale,
java.math.RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
static long |
sqrt(long x)
平方根算法
推荐使用 Math.sqrt(double) |
static java.math.BigDecimal |
sub(java.math.BigDecimal... values)
提供精确的减法运算
如果传入多个值为null或者空,则返回0 |
static double |
sub(double v1,
double v2)
提供精确的减法运算
|
static double |
sub(java.lang.Double v1,
java.lang.Double v2)
提供精确的减法运算
|
static double |
sub(double v1,
float v2)
提供精确的减法运算
|
static double |
sub(float v1,
double v2)
提供精确的减法运算
|
static double |
sub(float v1,
float v2)
提供精确的减法运算
|
static java.math.BigDecimal |
sub(java.lang.Number... values)
提供精确的减法运算
如果传入多个值为null或者空,则返回0 |
static java.math.BigDecimal |
sub(java.lang.Number v1,
java.lang.Number v2)
提供精确的减法运算
如果传入多个值为null或者空,则返回0 |
static java.math.BigDecimal |
sub(java.lang.String... values)
提供精确的减法运算
如果传入多个值为null或者空,则返回0 |
static java.math.BigDecimal |
sum(java.util.List<java.math.BigDecimal> list)
求和
|
static <T> java.math.BigDecimal |
sum(java.util.List<T> list,
java.util.function.Function<T,java.math.BigDecimal> function)
求和
|
static java.math.BigDecimal |
toBigDecimal(java.lang.Number number)
数字转
BigDecimal |
static java.math.BigDecimal |
toBigDecimal(java.lang.String number)
数字转
BigDecimal |
static java.lang.String |
toBinaryStr(java.lang.Number number)
获得数字对应的二进制字符串
|
static java.lang.String |
toStr(java.lang.Number number)
数字转字符串
调用 Object.toString(),并去除尾小数点儿后多余的0 |
static java.lang.String |
toStr(java.lang.Number number,
java.lang.String defaultValue)
数字转字符串
调用 Object.toString(),并去除尾小数点儿后多余的0 |
static int |
zero2One(int value)
如果给定值为0,返回1,否则返回原值
|
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(java.lang.Double v1,
java.lang.Double v2)
v1 - 被加数v2 - 加数public static java.math.BigDecimal add(java.lang.Number v1,
java.lang.Number v2)
v1 - 被加数v2 - 加数public static java.math.BigDecimal add(java.lang.Number... values)
values - 多个被加值public static java.math.BigDecimal add(java.lang.String... values)
values - 多个被加值public static java.math.BigDecimal add(java.math.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 double sub(java.lang.Double v1,
java.lang.Double v2)
v1 - 被减数v2 - 减数public static java.math.BigDecimal sub(java.lang.Number v1,
java.lang.Number v2)
v1 - 被减数v2 - 减数public static java.math.BigDecimal sub(java.lang.Number... values)
values - 多个被减值public static java.math.BigDecimal sub(java.lang.String... values)
values - 多个被减值public static java.math.BigDecimal sub(java.math.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(java.lang.Double v1,
java.lang.Double v2)
v1 - 被乘数v2 - 乘数public static java.math.BigDecimal mul(java.lang.Number v1,
java.lang.Number v2)
v1 - 被乘数v2 - 乘数public static java.math.BigDecimal mul(java.lang.Number... values)
values - 多个被乘值public static java.math.BigDecimal mul(java.lang.String v1,
java.lang.String v2)
v1 - 被乘数v2 - 乘数public static java.math.BigDecimal mul(java.lang.String... values)
values - 多个被乘值public static java.math.BigDecimal mul(java.math.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(java.lang.Double v1,
java.lang.Double v2)
v1 - 被除数v2 - 除数public static java.math.BigDecimal div(java.lang.Number v1,
java.lang.Number v2)
v1 - 被除数v2 - 除数public static java.math.BigDecimal div(java.lang.String v1,
java.lang.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(java.lang.Double v1,
java.lang.Double v2,
int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public static java.math.BigDecimal div(java.lang.Number v1,
java.lang.Number v2,
int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public static java.math.BigDecimal div(java.lang.String v1,
java.lang.String v2,
int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public static double div(float v1,
float v2,
int scale,
java.math.RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static double div(float v1,
double v2,
int scale,
java.math.RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static double div(double v1,
float v2,
int scale,
java.math.RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static double div(double v1,
double v2,
int scale,
java.math.RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static double div(java.lang.Double v1,
java.lang.Double v2,
int scale,
java.math.RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static java.math.BigDecimal div(java.lang.Number v1,
java.lang.Number v2,
int scale,
java.math.RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static java.math.BigDecimal div(java.lang.String v1,
java.lang.String v2,
int scale,
java.math.RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static java.math.BigDecimal div(java.math.BigDecimal v1,
java.math.BigDecimal v2,
int scale,
java.math.RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic static java.math.BigDecimal sum(java.util.List<java.math.BigDecimal> list)
list - 数据集合public static <T> java.math.BigDecimal sum(java.util.List<T> list,
java.util.function.Function<T,java.math.BigDecimal> function)
list - 数据集合function - 转换方法public static java.math.BigDecimal round(double v,
int scale)
RoundingMode.HALF_UPv - 值scale - 保留小数位数public static java.lang.String roundStr(double v,
int scale)
RoundingMode.HALF_UPv - 值scale - 保留小数位数public static java.math.BigDecimal round(java.lang.String numberStr,
int scale)
RoundingMode.HALF_UPnumberStr - 数字值的字符串表现形式scale - 保留小数位数public static java.math.BigDecimal round(java.math.BigDecimal number,
int scale)
RoundingMode.HALF_UPnumber - 数字值scale - 保留小数位数public static java.lang.String roundStr(java.lang.String numberStr,
int scale)
RoundingMode.HALF_UPnumberStr - 数字值的字符串表现形式scale - 保留小数位数public static java.math.BigDecimal round(double v,
int scale,
java.math.RoundingMode roundingMode)
v - 值scale - 保留小数位数roundingMode - 保留小数的模式 RoundingModepublic static java.lang.String roundStr(double v,
int scale,
java.math.RoundingMode roundingMode)
v - 值scale - 保留小数位数roundingMode - 保留小数的模式 RoundingModepublic static java.math.BigDecimal round(java.lang.String numberStr,
int scale,
java.math.RoundingMode roundingMode)
numberStr - 数字值的字符串表现形式scale - 保留小数位数,如果传入小于0,则默认0roundingMode - 保留小数的模式 RoundingMode,如果传入null则默认四舍五入public static java.math.BigDecimal round(java.math.BigDecimal number,
int scale,
java.math.RoundingMode roundingMode)
number - 数字值scale - 保留小数位数,如果传入小于0,则默认0roundingMode - 保留小数的模式 RoundingMode,如果传入null则默认四舍五入public static java.lang.String roundStr(java.lang.String numberStr,
int scale,
java.math.RoundingMode roundingMode)
numberStr - 数字值的字符串表现形式scale - 保留小数位数roundingMode - 保留小数的模式 RoundingModepublic static java.lang.String roundStr(java.math.BigDecimal number,
int scale,
java.math.RoundingMode roundingMode)
public static java.lang.String roundStr(java.math.BigDecimal number,
int scale)
public static java.math.BigDecimal roundHalfEven(java.lang.Number number,
int scale)
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
算法规则: 四舍六入五考虑, 五后非零就进一, 五后皆零看奇偶, 五前为偶应舍去, 五前为奇要进一。
number - 需要科学计算的数据scale - 保留的小数位public static java.math.BigDecimal roundHalfEven(java.math.BigDecimal value,
int scale)
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
算法规则: 四舍六入五考虑, 五后非零就进一, 五后皆零看奇偶, 五前为偶应舍去, 五前为奇要进一。
value - 需要科学计算的数据scale - 保留的小数位public static java.math.BigDecimal roundDown(java.lang.Number number,
int scale)
number - 需要科学计算的数据scale - 保留的小数位public static java.math.BigDecimal roundDown(java.math.BigDecimal value,
int scale)
value - 需要科学计算的数据scale - 保留的小数位public static java.lang.String decimalFormat(java.lang.String pattern,
double value)
DecimalFormat 做封装pattern - 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。value - 值public static java.lang.String decimalFormat(java.lang.String pattern,
long value)
DecimalFormat 做封装pattern - 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。value - 值public static java.lang.String decimalFormatMoney(double value)
value - 金额public static java.lang.String formatPercent(double number,
int scale)
number - 值scale - 保留小数位数public static boolean isNumber(java.lang.String str)
str - 字符串值public static boolean isInteger(java.lang.String s)
s - Stringpublic static boolean isLong(java.lang.String s)
s - StringLong类型public static boolean isDouble(java.lang.String s)
s - StringDouble类型public static boolean isPrimes(int n)
n - 数字public static int[] generateRandomNumber(int begin,
int end,
int size)
begin - 最小数字(包含该数)end - 最大数字(不包含该数)size - 指定产生随机数的个数public static java.lang.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 java.util.Collection<java.lang.Integer> appendRange(int start,
int stop,
java.util.Collection<java.lang.Integer> values)
start - 开始(包含)stop - 结束(包含)values - 集合public static java.util.Collection<java.lang.Integer> appendRange(int start,
int stop,
int step,
java.util.Collection<java.lang.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 divisor(int m,
int n)
m - 第一个值n - 第二个值public static int multiple(int m,
int n)
m - 第一个值n - 第二个值public static java.lang.String toBinaryStr(java.lang.Number number)
number - 数字public static int binaryToInt(java.lang.String binaryStr)
binaryStr - 二进制字符串public static long binaryToLong(java.lang.String binaryStr)
binaryStr - 二进制字符串public static boolean isGreater(java.math.BigDecimal bigNum1,
java.math.BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public static boolean isGreaterOrEqual(java.math.BigDecimal bigNum1,
java.math.BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public static boolean isLess(java.math.BigDecimal bigNum1,
java.math.BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public static boolean isLessOrEqual(java.math.BigDecimal bigNum1,
java.math.BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public static boolean isBetween(double x,
double x1,
double x2)
public static boolean isBetween(float x,
float x1,
float x2)
public static boolean isBetween(long x,
long x1,
long x2)
public static boolean isBetween(int x,
int x1,
int x2)
public static boolean isBetween(short x,
short x1,
short x2)
public static boolean isBetween(char x,
char x1,
char x2)
public static boolean isBetween(byte x,
byte x1,
byte x2)
public static <T extends java.lang.Comparable<T>> boolean isBetween(T x,
T x1,
T x2)
public static boolean equals(java.math.BigDecimal bigNum1,
java.math.BigDecimal bigNum2)
BigDecimal.compareTo(BigDecimal)方法来判断是否相等bigNum1 - 数字1bigNum2 - 数字2public static java.lang.String toStr(java.lang.Number number,
java.lang.String defaultValue)
Object.toString(),并去除尾小数点儿后多余的0number - A NumberdefaultValue - 如果number参数为null,返回此默认值public static java.lang.String toStr(java.lang.Number number)
Object.toString(),并去除尾小数点儿后多余的0number - A Numberpublic static boolean isValid(java.lang.Number number)
number - 数字public static java.math.BigDecimal toBigDecimal(java.lang.Number number)
BigDecimalnumber - 数字BigDecimalpublic static java.math.BigDecimal toBigDecimal(java.lang.String number)
BigDecimalnumber - 数字BigDecimalpublic static int count(int total,
int part)
total - 总数part - 每份的个数public static java.math.BigDecimal null2Zero(java.math.BigDecimal decimal)
decimal - BigDecimal,可以为nullBigDecimal参数为空时返回0的值public static int zero2One(int value)
value - 值public static java.math.BigInteger newBigInteger(java.lang.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 java.math.BigDecimal pow(java.lang.Number number,
int n)
number - 底数n - 指数public static java.math.BigDecimal pow(java.math.BigDecimal number,
int n)
number - 底数n - 指数public static int parseInt(java.lang.String number)
public static long parseLong(java.lang.String number)
public static int[] parseInt(java.lang.String[] numbers)
public static long[] parseLong(java.lang.String[] numbers)
public static java.math.BigDecimal max(java.math.BigDecimal a,
java.math.BigDecimal b)
a - ab - bpublic static java.math.BigDecimal min(java.math.BigDecimal a,
java.math.BigDecimal b)
a - ab - b