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 xy )为极坐标 (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)
返回 longint参数的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()
BigDecimalint
int intValueExact()
BigDecimal转换为 int ,检查是否丢失了信息。
long longValue()
BigDecimal转换为 long
long longValueExact()
将此 BigDecimal转换为 long ,检查是否丢失了信息。
BigDecimal max​(BigDecimal val)
返回 BigDecimalval
BigDecimal min​(BigDecimal val)
返回 BigDecimalval
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)
转换一个 doubleBigDecimal ,使用 double通过所提供的规范的字符串表示 Double.toString(double)方法。
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 2021-03-06 20:01  一计  阅读(114)  评论(0)    收藏  举报