public class NumberX extends Object
BigDecimal
new BigDecimal(0.1)
表示的不是0.1而是0.1000000000000000055511151231257827021181583404541015625
这是因为0.1无法准确的表示为double。因此应该使用new BigDecimal(String)。
相关介绍:| 构造器和说明 |
|---|
NumberX() |
| 限定符和类型 | 方法和说明 |
|---|---|
BigDecimal |
add(BigDecimal v1,
BigDecimal v2)
提供精确的加法运算
|
double |
add(double v1,
double v2)
提供精确的加法运算
|
BigDecimal |
add(String v1,
String v2)
提供精确的加法运算
|
Collection<Integer> |
appendRange(int start,
int stop,
Collection<Integer> values)
将给定范围内的整数添加到已有集合中,步进为1
|
Collection<Integer> |
appendRange(int start,
int stop,
int step,
Collection<Integer> values)
将给定范围内的整数添加到已有集合中
|
int |
binaryToInt(String binaryStr)
二进制转int
|
long |
binaryToLong(String binaryStr)
二进制转long
|
int |
compare(byte x,
byte y)
比较两个值的大小
|
int |
compare(char x,
char y)
比较两个值的大小
|
int |
compare(double x,
double y)
比较两个值的大小
|
int |
compare(int x,
int y)
比较两个值的大小
|
int |
compare(long x,
long y)
比较两个值的大小
|
int |
compare(short x,
short y)
比较两个值的大小
|
int |
count(int total,
int part)
计算等份个数
|
String |
decimalFormat(String pattern,
double value)
|
String |
decimalFormat(String pattern,
long value)
|
String |
decimalFormatMoney(Double value)
格式化金额输出,每三位用逗号分隔
|
BigDecimal |
div(BigDecimal v1,
BigDecimal v2,
int scale,
RoundingMode roundingMode)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
|
double |
div(double v1,
double v2)
提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
|
double |
div(double v1,
double v2,
int scale)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
|
double |
div(double v1,
double v2,
int scale,
RoundingMode roundingMode)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
|
BigDecimal |
div(String v1,
String v2)
提供(相对)精确的除法运算,当发生除不尽的情况的时候,精确到小数点后10位,后面的四舍五入
|
BigDecimal |
div(String v1,
String v2,
int scale)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度,后面的四舍五入
|
BigDecimal |
div(String v1,
String v2,
int scale,
RoundingMode roundingMode)
提供(相对)精确的除法运算,当发生除不尽的情况时,由scale指定精确度
|
int |
divisor(int m,
int n)
最大公约数
|
boolean |
equals(BigDecimal bigNum1,
BigDecimal bigNum2)
比较大小,相等 返回true
|
int |
factorial(int n)
阶乘:n!
|
Integer[] |
generateBySet(int begin,
int end,
int size)
生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
|
int[] |
generateRandomNumber(int begin,
int end,
int size)
生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组
|
String |
getBinaryStr(Number number)
获得数字对应的二进制字符串
|
boolean |
isBlankChar(char c)
是否空白符
空白符包括空格、制表符、全角空格和不间断空格 |
boolean |
isBlankChar(int c)
是否空白符
空白符包括空格、制表符、全角空格和不间断空格 |
boolean |
isDouble(String s)
判断字符串是否是浮点数
|
boolean |
isGreater(BigDecimal bigNum1,
BigDecimal bigNum2)
比较大小,参数1>参数2 返回true
|
boolean |
isGreaterOrEqual(BigDecimal bigNum1,
BigDecimal bigNum2)
比较大小,参数1>=参数2 返回true
|
boolean |
isInteger(String s)
判断String是否是整数
|
boolean |
isLess(BigDecimal bigNum1,
BigDecimal bigNum2)
比较大小,参数1<参数2 返回true
|
boolean |
isLessOrEqual(BigDecimal bigNum1,
BigDecimal bigNum2)
比较大小,参数1<=参数2 返回true
|
boolean |
isNumber(String str)
是否为数字
|
boolean |
isPrimes(int n)
是否是质数
质数表的质数又称素数。 |
BigDecimal |
mul(BigDecimal v1,
BigDecimal v2)
提供精确的乘法运算
|
double |
mul(double v1,
double v2)
提供精确的乘法运算
|
BigDecimal |
mul(String v1,
String v2)
提供精确的乘法运算
|
int |
multiple(int m,
int n)
最小公倍数
|
BigDecimal |
null2Zero(BigDecimal decimal)
空转0
|
int |
processMultiple(int selectNum,
int minNum)
可以用于计算双色球、大乐透注数的方法
比如大乐透35选5可以这样调用processMultiple(7,5); 就是数学中的:C75=7*6/2*1 |
int[] |
range(int start,
int stop)
给定范围内的整数列表,步进为1
|
int[] |
range(int start,
int stop,
int step)
给定范围内的整数列表
|
double |
round(double v,
int scale)
|
double |
round(double v,
int scale,
RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
double |
round(String numberStr,
int scale)
|
double |
round(String numberStr,
int scale,
RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
String |
roundStr(double number,
int digit)
保留小数位,采用四舍五入
|
long |
sqrt(long x)
平方根算法
推荐使用 Math.sqrt(double) |
BigDecimal |
sub(BigDecimal v1,
BigDecimal v2)
提供精确的减法运算
|
double |
sub(double v1,
double v2)
提供精确的减法运算
|
BigDecimal |
sub(String v1,
String v2)
提供精确的减法运算
|
public double add(double v1,
double v2)
v1 - 被加数v2 - 加数public BigDecimal add(String v1, String v2)
v1 - 被加数v2 - 加数public BigDecimal add(BigDecimal v1, BigDecimal v2)
v1 - 被加数v2 - 加数public double sub(double v1,
double v2)
v1 - 被减数v2 - 减数public BigDecimal sub(String v1, String v2)
v1 - 被减数v2 - 减数public BigDecimal sub(BigDecimal v1, BigDecimal v2)
v1 - 被减数v2 - 减数public double mul(double v1,
double v2)
v1 - 被乘数v2 - 乘数public BigDecimal mul(String v1, String v2)
v1 - 被乘数v2 - 乘数public BigDecimal mul(BigDecimal v1, BigDecimal v2)
v1 - 被乘数v2 - 乘数public double div(double v1,
double v2)
v1 - 被除数v2 - 除数public BigDecimal div(String v1, String v2)
v1 - 被除数v2 - 除数public double div(double v1,
double v2,
int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public BigDecimal div(String v1, String v2, int scale)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值public double div(double v1,
double v2,
int scale,
RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic BigDecimal div(String v1, String v2, int scale, RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic BigDecimal div(BigDecimal v1, BigDecimal v2, int scale, RoundingMode roundingMode)
v1 - 被除数v2 - 除数scale - 精确度,如果为负值,取绝对值roundingMode - 保留小数的模式 RoundingModepublic double round(double v,
int scale)
v - 值scale - 保留小数位数public double round(String numberStr, int scale)
numberStr - 数字值的字符串表现形式scale - 保留小数位数public double round(double v,
int scale,
RoundingMode roundingMode)
v - 值scale - 保留小数位数roundingMode - 保留小数的模式 RoundingModepublic double round(String numberStr, int scale, RoundingMode roundingMode)
numberStr - 数字值的字符串表现形式scale - 保留小数位数roundingMode - 保留小数的模式 RoundingModepublic String roundStr(double number, int digit)
number - 被保留小数的数字digit - 保留的小数位数public String decimalFormat(String pattern, double value)
pattern - 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。value - 值public String decimalFormat(String pattern, long value)
pattern - 格式 格式中主要以 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。value - 值public String decimalFormatMoney(Double value)
value - 金额public boolean isNumber(String str)
str - 字符串值public boolean isInteger(String s)
s - Stringpublic boolean isPrimes(int n)
n - 数字public int[] generateRandomNumber(int begin,
int end,
int size)
begin - 最小数字(包含该数)end - 最大数字(不包含该数)size - 指定产生随机数的个数public Integer[] generateBySet(int begin, int end, int size)
begin - 最小数字(包含该数)end - 最大数字(不包含该数)size - 指定产生随机数的个数public int[] range(int start,
int stop)
start - 开始(包含)stop - 结束(包含)public int[] range(int start,
int stop,
int step)
start - 开始(包含)stop - 结束(包含)step - 步进public Collection<Integer> appendRange(int start, int stop, Collection<Integer> values)
start - 开始(包含)stop - 结束(包含)values - 集合public Collection<Integer> appendRange(int start, int stop, int step, Collection<Integer> values)
start - 开始(包含)stop - 结束(包含)step - 步进values - 集合public int factorial(int n)
n - 值public long sqrt(long x)
Math.sqrt(double)x - 值public int processMultiple(int selectNum,
int minNum)
selectNum - 选中小球个数minNum - 最少要选中多少个小球public int divisor(int m,
int n)
m - 第一个值n - 第二个值public int multiple(int m,
int n)
m - 第一个值n - 第二个值public int binaryToInt(String binaryStr)
binaryStr - 二进制字符串public long binaryToLong(String binaryStr)
binaryStr - 二进制字符串public int compare(char x,
char y)
x - 第一个值y - 第二个值Character.compare(char, char)public int compare(double x,
double y)
x - 第一个值y - 第二个值Double.compare(double, double)public int compare(int x,
int y)
x - 第一个值y - 第二个值Integer.compare(int, int)public int compare(long x,
long y)
x - 第一个值y - 第二个值Long.compare(long, long)public int compare(short x,
short y)
x - 第一个值y - 第二个值Short.compare(short, short)public int compare(byte x,
byte y)
x - 第一个值y - 第二个值Byte.compare(byte, byte)public boolean isGreater(BigDecimal bigNum1, BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public boolean isGreaterOrEqual(BigDecimal bigNum1, BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public boolean isLess(BigDecimal bigNum1, BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public boolean isLessOrEqual(BigDecimal bigNum1, BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public boolean equals(BigDecimal bigNum1, BigDecimal bigNum2)
bigNum1 - 数字1bigNum2 - 数字2public boolean isBlankChar(char c)
c - 字符Character.isWhitespace(int),
Character.isSpaceChar(int)public boolean isBlankChar(int c)
c - 字符Character.isWhitespace(int),
Character.isSpaceChar(int)public int count(int total,
int part)
total - 总数part - 每份的个数public BigDecimal null2Zero(BigDecimal decimal)
decimal - BigDecimal,可以为nullBigDecimal参数为空时返回0的值Copyright © 2017. All rights reserved.