Java中一些基本的數學類操作函式及注意事項

2021-08-17 04:40:25 字數 1777 閱讀 4700

math.abs(-12);//求絕對值結果為12;

math.ceil(12.46);//求大於等於引數的最小整數值,結果為13.0;

math.floor(12.56);//求小於等於引數的最大整數值,結果為12.0;

math.max(12,23);//求兩者中的最大值,結果為23;

多重呼叫:math.max(math.max(12,23),47);//結果為47;

math.min(12,23);//求兩者中的最小值,結果為12;

math.pow(2,3);//求冪,第乙個數為底數,第二個數為指數,結果為2^3=8.0; 

math.pow(5,5);//求冪,第乙個數為底數,第二個數為指數,結果為2^3=3125.0;

math.sqrt(16);//求平方根,最後求得結果為4.0;

math.round(12.34f);//求四捨五入int型別,當捨入結果為正則5向上取整,當捨入結果為負則5向下取整。

具體分析過程如下:(包含int round(float val)函式與long round(double val))

public class mathtest    

}  執行結果:

1、小數點後第一位=5

2、正數:math.round(11.5)=12

3、負數:math.round(-11.5)=-11

4、5、小數點後第一位<5

6、正數:math.round(11.46)=11

7、負數:math.round(-11.46)=-11

8、9、小數點後第一位》5

10、正數:math.round(11.68)=12

11、負數:math.round(-11.68)=-12

根據上面例子的執行結果,我們還可以按照如下方式總結,或許更加容易記憶:

1、引數的小數點後第一位<5,運算結果為引數整數部分。

2、引數的小數點後第一位》5,運算結果為引數整數部分絕對值+1,符號(即正負)不變。

3、引數的小數點後第一位=5,正數運算結果為整數部分+1,負數運算結果為整數部分。

終結:大於五全部加,等於五正數加,小於五全不加。

math.round 

語法:math.round(x);

引數:x 為一數值。

解釋:方法。返回對引數x四捨五入後所得的整數近似值。

public static long round(double a)
返回最接近引數的long。結果將捨入為整數:加上 1/2,對結果呼叫 floor 並將所得結果強制轉換為long型別。換句話說,結果等於以下表示式的值:

(long)math.floor(a + 0.5d)
特殊情況如下:

引數:a- 捨入為long的浮點值。

返回:捨入為最接近的long值的引數值。

public static int round(float a)
返回最接近引數的int。結果將捨入為整數:加上 1/2,對結果呼叫 floor 並將所得結果強制轉換為int型別。換句話說,結果等於以下表示式的值:

(int)math.floor(a + 0.5f)
特殊情況如下:

引數:a- 要捨入為整數的浮點值。

返回:捨入為最接近的int值的引數值。

round 函式部分分析來自大佬的部落格:

math類中一些基本方法

package com.niuke.test public class mathdemo math.pi 記錄的圓周率 math.e 記錄e的常量 math中還有一些類似的常量,都是一些工程數學常用量。math.abs 求絕對值 math.sin 正弦函式 math.asin 反正弦函式 math....

C 中一些容器的基本操作

vector 向量 可變陣列vectorreference operator size type n 陣列方式訪問元素 reference at size type n 函式方式訪問元素 void push back const value type val 末尾插入 void pop back 末...

QT 中一些數學計算函式

qt的一些範例中有出現 qmax,qmin 等 math函式的身影,但我在官方檔案中卻找不到與 math函式相關的說明,所以我就把函式的source裡面提供的方法整理條列,並且看看還有哪些 math相關的函式可用。在 qglobal.h 裡,可以找到幾種 math函式,條列於下,但一般常用的 mat...