public class NumberUtil extends Object
BigDecimalnew BigDecimal(0.1)
表示的不是0.1而是0.1000000000000000055511151231257827021181583404541015625
这是因为0.1无法准确的表示为double。因此应该使用new BigDecimal(String)。
相关介绍:| 构造器和说明 |
|---|
NumberUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
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 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 Number |
parseNumber(String numberStr)
将指定字符串转换为
Number 对象此方法不支持科学计数法 |
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,
RoundingMode roundingMode)
保留固定位数小数
例如保留四位小数:123.456789 =》 123.4567 |
static BigDecimal |
roundDown(BigDecimal value,
int scale)
保留固定小数位数,舍去多余位数
|
static BigDecimal |
roundHalfEven(BigDecimal value,
int scale)
四舍六入五成双计算法
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
|
static BigDecimal |
toBigDecimal(String numberStr)
数字转
BigDecimalnull或""或空白符转换为0 |
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 BigDecimal round(BigDecimal number, int scale)
number - 数字值scale - 保留小数位数public static BigDecimal round(BigDecimal number, int scale, RoundingMode roundingMode)
number - 数字值scale - 保留小数位数,如果传入小于0,则默认0roundingMode - 保留小数的模式 RoundingMode,如果传入null则默认四舍五入public static BigDecimal round(double v, int scale)
v - 值scale - 保留小数位数public static BigDecimal round(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 roundHalfEven(BigDecimal value, int scale)
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
算法规则: 四舍六入五考虑, 五后非零就进一, 五后皆零看奇偶, 五前为偶应舍去, 五前为奇要进一。
value - 需要科学计算的数据scale - 保留的小数位public static BigDecimal roundDown(BigDecimal value, int scale)
value - 需要科学计算的数据scale - 保留的小数位public static BigDecimal toBigDecimal(String numberStr)
BigDecimalnumberStr - 数字字符串BigDecimalpublic static Number parseNumber(String numberStr) throws NumberFormatException
Number 对象numberStr - Number字符串NumberFormatException - 包装了ParseException,当给定的数字字符串无法解析时抛出Copyright © 2021. All rights reserved.