Math
Math 类包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
方法:
常用: abs取绝对值、max(min)取两个参数最大(小)值、pow幂运算、random获取随机值、round取整
| 变量和类型 | 方法 | 描述 |
|---|---|---|
static double |
abs(double a) |
返回
double值的绝对值。(或float\long\int类型为参) |
static double |
acos(double a) |
返回值的反余弦值; 返回的角度在0.0到pi的范围内。
|
static int |
addExact(int x, int y) |
返回其参数的总和,如果结果溢出
int则抛出异常。(或long类型为参) |
static double |
asin(double a) |
返回值的反正弦值; 返回的角度在-pi / 2到pi / 2的范围内。
|
static double |
atan(double a) |
返回值的反正切值; 返回的角度在-pi / 2到pi / 2的范围内。
|
static double |
atan2(double y, double x) |
返回从直角坐标(转换角度 theta
x , y )为极坐标 (R,θ-)。 |
static double |
cbrt(double a) |
返回
double值的多维数据集根。 |
static double |
ceil(double a) |
返回大于或等于参数且等于数学整数的最小值(最接近负无穷大)
double 。 |
static double |
copySign(double magnitude, double sign) |
返回带有第二个浮点参数符号的第一个浮点参数。(或float类型为参)
|
static double |
cos(double a) |
返回角度的三角余弦值。
|
static double |
cosh(double x) |
返回
double值的双曲余弦值。 |
static int |
decrementExact(int a) |
返回参数递减1,如果结果溢出
int则抛出异常。(或long类型为参) |
static double |
exp(double a) |
返回Euler的数字 e ,其值
double值。 |
static double |
expm1(double x) |
返回 e x -1。
|
static double |
floor(double a) |
返回小于或等于参数且等于数学整数的最大值(最接近正无穷大)
double 。 |
static int |
floorDiv(int x, int y) |
返回小于或等于代数商的最大值(最接近正无穷大)
int 。(或long类型为参) |
static long |
floorDiv(long x, int y) |
返回小于或等于代数商的最大值(最接近正无穷大)
long 。 |
static int |
floorMod(int x, int y) |
返回
int参数的floor模数。(或long类型为参) |
static int |
floorMod(long x, int y) |
返回
long和 int参数的floor数。 |
static double |
fma(double a, double b, double c) |
返回三个参数的融合乘法加法; 也就是说,返回与第三个参数相加的前两个参数的精确乘积,然后舍入一次到最接近的
double 。(或float类型为参) |
static int |
getExponent(double d) |
返回
double表示中使用的无偏指数。(或float类型为参) |
static double |
hypot(double x, double y) |
返回sqrt( x 2 + y 2 ),没有中间溢出或下溢。
|
static double |
IEEEremainder(double f1, double f2) |
根据IEEE 754标准规定,计算两个参数的余数运算。
|
static int |
incrementExact(int a) |
返回以1递增的参数,如果结果溢出
int则抛出异常。(或long类型为参) |
static double |
log(double a) |
返回
double值的自然对数(基数 e )。 |
static double |
log10(double a) |
返回
double值的基数10对数。 |
static double |
log1p(double x) |
返回参数和的总和的自然对数。
|
static double |
max(double a, double b) |
返回两个
double值中较大的 double 。(或float\long\int类型为参) |
static double |
min(double a, double b) |
返回两个
double值中较小的 double 。(或float\long\int类型为参) |
static int |
multiplyExact(int x, int y) |
返回参数的乘积,如果结果溢出
int则抛出异常。(或long类型为参) |
static long |
multiplyExact(long x, int y) |
返回参数的乘积,如果结果溢出
long则抛出异常。 |
static long |
multiplyFull(int x, int y) |
返回参数的确切数学乘积。
|
static long |
multiplyHigh(long x, long y) |
返回
long作为两个64位因子的128位乘积的最高64位。 |
static int |
negateExact(int a) |
返回参数的否定,如果结果溢出
int则抛出异常。(或long类型为参) |
static double |
nextAfter(double start, double direction) |
返回第二个参数方向上第一个参数旁边的浮点数。
|
static float |
nextAfter(float start, double direction) |
返回第二个参数方向上第一个参数旁边的浮点数。
|
static double |
nextDown(double d) |
返回负无穷大方向上与
d相邻的浮点值。(或float类型为参) |
static double |
nextUp(double d) |
返回正无穷大方向上与
d相邻的浮点值。(或float类型为参) |
static double |
pow(double a, double b) |
返回第一个参数的值,该值是第二个参数的幂。
|
static double |
random() |
返回带有正号的
double值,大于或等于 0.0且小于 1.0 。 |
static double |
rint(double a) |
返回与
double值最接近的 double值,该值等于数学整数。 |
static long |
round(double a) |
返回与参数最接近的
long ,并将关系四舍五入为正无穷大。 |
static int |
round(float a) |
返回与参数最接近的
int ,并将关系四舍五入为正无穷大。 |
static double |
scalb(double d, int scaleFactor) |
返回
d ×2 scaleFactor舍入,就像通过单个正确舍入的浮点乘以双 scaleFactor值集的成员一样。 |
static float |
scalb(float f, int scaleFactor) |
返回
f ×2 scaleFactor舍入,就像通过单个正确舍入的浮点乘以浮点值集的成员一样。 |
static double |
signum(double d) |
返回参数的signum函数; 如果参数为零,则为零;如果参数大于零,则为1.0;如果参数小于零,则为-1.0。
|
static float |
signum(float f) |
返回参数的signum函数; 如果参数为零则为零,如果参数大于零则为1.0f,如果参数小于零则为-1.0f。
|
static double |
sin(double a) |
返回角度的三角正弦值。
|
static double |
sinh(double x) |
返回
double值的双曲正弦值。 |
static double |
sqrt(double a) |
返回
double值的正确舍入正平方根。 |
static int |
subtractExact(int x, int y) |
返回参数的差异,如果结果溢出
int则抛出异常。(或long类型为参) |
static double |
tan(double a) |
返回角度的三角正切。
|
static double |
tanh(double x) |
返回
double值的双曲正切值。 |
static double |
toDegrees(double angrad) |
将以弧度测量的角度转换为以度为单位测量的近似等效角度。
|
static int |
toIntExact(long value) |
返回
long参数的值; 如果值溢出int则抛出异常。 |
static double |
toRadians(double angdeg) |
将以度为单位测量的角度转换为以弧度为单位测量的近似等效角度。
|
static double |
ulp(double d) |
返回参数的ulp大小。(或float类型为参)
|
BigDecimal
Java中提供了大数字(超过16位有效位)的操作类,即 java.math.BinInteger 类和 java.math.BigDecimal 类,用于高精度计算.
其中 BigInteger 类是针对大整数的处理类,而 BigDecimal 类则是针对大小数的处理类.
BigDecimal 类的实现用到了 BigInteger类,不同的是 BigDecimal 加入了小数的概念.
float和Double只能用来做科学计算或者是工程计算;在商业计算中,对数字精度要求较高,必须使用 BigInteger 类和 BigDecimal 类,它支持任何精度的定点数,可以用它来精确计算货币值.
BigDecimal类创建的是对象,不能使用传统的+、-、*、/等算术运算符直接对其进行数学运算,而必须调用其对应的方法.方法的参数也必须是BigDecimal类型的对象.
构造器:
最常使用
BigDecimal(String val) |
将
BigDecimal的字符串表示 BigDecimal转换为 BigDecimal 。 |
|---|
方法:
+:add -:subtract *:multiply /:divide
| 变量和类型 | 方法 | 描述 |
|---|---|---|
BigDecimal |
abs() |
返回
BigDecimal其值是此的绝对值 BigDecimal ,其标为 this.scale() 。 |
BigDecimal |
abs(MathContext mc) |
返回
BigDecimal其值为此 BigDecimal的绝对值,并根据上下文设置进行舍入。 |
BigDecimal |
add(BigDecimal augend) |
返回
BigDecimal其值为 (this + augend) ,其比例为 max(this.scale(), augend.scale()) 。 |
BigDecimal |
add(BigDecimal augend, MathContext mc) |
返回
BigDecimal其值为 (this + augend) ,根据上下文设置进行舍入。 |
byte |
byteValueExact() |
将
BigDecimal转换为 byte ,检查是否丢失了信息。 |
int |
compareTo(BigDecimal val) |
将此
BigDecimal与指定的 BigDecimal 。 |
BigDecimal |
divide(BigDecimal divisor) |
返回
BigDecimal其值为(this / divisor) ,其首选比例为(this.scale() - divisor.scale()) ; 如果无法表示准确的商(因为它具有非终止的十进制扩展),则抛出ArithmeticException 。 |
BigDecimal |
divide(BigDecimal divisor, int roundingMode) |
已过时。
应该优先使用方法
divide(BigDecimal, RoundingMode) ,而不是这种传统方法。 |
BigDecimal |
divide(BigDecimal divisor, int scale, int roundingMode) |
已过时。
应该优先使用方法
divide(BigDecimal, int, RoundingMode)来使用该传统方法。 |
BigDecimal |
divide(BigDecimal divisor, int scale, RoundingMode roundingMode) |
返回
BigDecimal其值为 (this / divisor) ,其比例为指定的比例。 |
BigDecimal |
divide(BigDecimal divisor, MathContext mc) |
返回
BigDecimal其值为 (this / divisor) ,根据上下文设置进行舍入。 |
BigDecimal |
divide(BigDecimal divisor, RoundingMode roundingMode) |
返回
BigDecimal其值为 (this / divisor) ,其比例为 this.scale() 。 |
double |
doubleValue() |
将
BigDecimal转换为 double 。 |
boolean |
equals(Object x) |
将此
BigDecimal与指定的 Object进行相等性比较。 |
float |
floatValue() |
将
BigDecimal转换为 float 。 |
int |
hashCode() |
返回此
BigDecimal的哈希码。 |
int |
intValue() |
将
BigDecimal成 int 。 |
int |
intValueExact() |
将
BigDecimal转换为 int ,检查是否丢失了信息。 |
long |
longValue() |
将
BigDecimal转换为 long 。 |
long |
longValueExact() |
将此
BigDecimal转换为 long ,检查是否丢失了信息。 |
BigDecimal |
max(BigDecimal val) |
返回
BigDecimal和 val 。 |
BigDecimal |
min(BigDecimal val) |
返回
BigDecimal和 val 。 |
BigDecimal |
movePointLeft(int n) |
返回一个
BigDecimal ,相当于这个小数点向左移动 n位置。 |
BigDecimal |
movePointRight(int n) |
返回一个
BigDecimal ,相当于这个小数点向右移动 n位置。 |
BigDecimal |
multiply(BigDecimal multiplicand) |
返回
BigDecimal其值为 (this × multiplicand) ,其比例为 (this.scale() + multiplicand.scale()) 。 |
BigDecimal |
multiply(BigDecimal multiplicand, MathContext mc) |
返回
BigDecimal其值为 (this × multiplicand) ,根据上下文设置进行舍入。 |
BigDecimal |
negate() |
返回
BigDecimal其值为 (-this) ,其比例为 this.scale() 。 |
BigDecimal |
negate(MathContext mc) |
返回
BigDecimal其值为 (-this) ,根据上下文设置进行舍入。 |
BigDecimal |
plus() |
返回
BigDecimal其值为 (+this) ,其比例为 this.scale() 。 |
BigDecimal |
plus(MathContext mc) |
返回
BigDecimal其值为 (+this) ,根据上下文设置进行舍入。 |
BigDecimal |
pow(int n) |
返回
BigDecimal其值为 (thisn) ,精确计算功率,精度无限制。 |
BigDecimal |
pow(int n, MathContext mc) |
返回
BigDecimal其值为 (thisn) 。 |
int |
precision() |
返回此
BigDecimal的 精度 。 |
BigDecimal |
remainder(BigDecimal divisor) |
返回
BigDecimal其值为 (this % divisor) 。 |
BigDecimal |
remainder(BigDecimal divisor, MathContext mc) |
返回
BigDecimal其值为 (this % divisor) ,根据上下文设置进行舍入。 |
BigDecimal |
round(MathContext mc) |
返回
BigDecimal根据四舍五入 MathContext设置。 |
int |
scale() |
返回
BigDecimal的 比例 。 |
BigDecimal |
setScale(int newScale) |
返回
BigDecimal其标度为指定值,其值在数值上等于此 BigDecimal 。 |
BigDecimal |
setScale(int newScale, RoundingMode roundingMode) |
返回
BigDecimal其比例为指定值,其未缩放值通过将此 BigDecimal值乘以或除以适当的10的幂来确定,以保持其总值。 |
int |
signum() |
返回此
BigDecimal的signum函数。 |
BigDecimal |
sqrt(MathContext mc) |
返回
this平方根的 this并根据上下文设置进行舍入。 |
BigDecimal |
subtract(BigDecimal subtrahend) |
返回
BigDecimal其值为 (this - subtrahend) ,其比例为 max(this.scale(), subtrahend.scale()) 。 |
BigDecimal |
subtract(BigDecimal subtrahend, MathContext mc) |
返回
BigDecimal其值为 (this - subtrahend) ,根据上下文设置进行舍入。 |
String |
toString() |
如果需要指数,则使用科学计数法返回此
BigDecimal的字符串表示形式。 |
static BigDecimal |
valueOf(double val) |
|
static BigDecimal |
valueOf(long val) |
将
long值转换为 BigDecimal ,其标度为零。 |
static BigDecimal |
valueOf(long unscaledVal, int scale) |
将
long值和 int比例转换为 BigDecimal 。 |
参考引用:
https://www.cnblogs.com/javahr/p/8321683.html
posted on
浙公网安备 33010602011771号