Math 類別支援一般常見的數學運算,例如數值的比較,讀取絕對值等等。
Math 的Max 以及 Min 函式,提供了比較兩個特定數值大小所需的功能,同時包含數種基本型別的多載版本,以 int 型別為例,其定義如下:
兩個函式提供各種數值型別的多載版本,這些版本分別接受不同型別的參數,進行比較運算,例如底下為 double 版本的 Max 定義:
近似值
Math 針對近似值的運算提供一組相關函式,其中大部份主要用於取得具小數點數值的近似整數,列舉如下:
表列的三種方法,均用來取得相較於一個特定數值的近似值,從 Ceiling 開始,其定義如下:
Floor 與 Ceiling 進行相反的運算,其定義如下:
最後的Round 則是前兩者的綜合體,其定義如下:
Round還有另外一多載的版本,定義如下:
絕對值
Math 針對絕對值的運算同樣提供了必要的支援函式,同時包含了數種支援整數以及浮點數的版本,以下列出其中的 int 版本。
除法運算
一個特殊的函式 IEEERemainder ,用來取得兩個數值相除之後所產生的餘數,定義如下:
除了以上介紹的方法, Math 類別還有少數幾個這裏沒有提及的成員,其中甚至包含了三個雙曲函式,計算雙曲正切(Hyperbolic tangent)的 Tanh 、雙曲正弦(Hyperbolic sine)的 Sinh 以及雙曲餘弦(Hyperbolic cosine)的 Cosh,這些函式的運用對於讀者而言應該不困難,讀者有興趣可自行了解。
Math 的Max 以及 Min 函式,提供了比較兩個特定數值大小所需的功能,同時包含數種基本型別的多載版本,以 int 型別為例,其定義如下:
public static int Max(int val1,int val2) public static int Min(int val1,int val2)Max 回傳 val1 與 val2 比較結果當中比較大的值, Min則是回傳其中比較小的值,例如 Math.Max(5,10) 回傳值為 10 ,Math.Min(5,10) 回傳值則是 5。
兩個函式提供各種數值型別的多載版本,這些版本分別接受不同型別的參數,進行比較運算,例如底下為 double 版本的 Max 定義:
public static double Max( double val1, double val2 )由於每一種數值型別均有其相關定義,因此可以針對兩個特定型別的數值,進行比較運算。
近似值
Math 針對近似值的運算提供一組相關函式,其中大部份主要用於取得具小數點數值的近似整數,列舉如下:
方法 | 說明 |
---|---|
Ceiling | 回傳大於或是等於指定數值的最小整數。 |
Floor | 回傳小於或是等於指定數值的最大整數。 |
Round | 回傳與指定數值最接近的整數。 |
表列的三種方法,均用來取得相較於一個特定數值的近似值,從 Ceiling 開始,其定義如下:
public static decimal Ceiling ( decimal d )Ceiling 回傳大於或是等於參數 d 的最小整數,假設傳入的參數 d 等於 1.5 ,Math.Ceiling(1.5) 的回傳值則為 2 ,若是負值,則其規則同樣適用, Math.Ceiling(-1.5) 回傳值為 -1 。
Floor 與 Ceiling 進行相反的運算,其定義如下:
public static decimal Floor( decimal d )Floor 回傳小於或是等於參數 d 的最大整數,假設傳入的參數 d 等於 1.5 , Math.Floor (1.5) 回傳值為 1 ,若是負值則其規則同樣適用, Math.Floor(-1.5) 回傳值為 -2 。
最後的Round 則是前兩者的綜合體,其定義如下:
public static decimal Round ( decimal d )這個方法回傳值為最接近參數 d 的整數值,例如 Math.Round(1.4) 的回傳值為 1 ,Math.Round(1.6) 的回傳值則是 2 ,如果參數值剛好落在兩個整數中間,則回傳偶數值,例如 Math.Round(1.5) 回傳 2 , Math.Round(2.5) 也是回傳 2 。
Round還有另外一多載的版本,定義如下:
public static decimal Round ( decimal d, int decimals )此版本接受兩個參數,其中第二個參數,代表所要取得近似值的小數點位數精確度,例如Math.Round(2.55655,4),表示取得 2.55655 這個數值的近似值,精確度至小數點後面四個位數,因此其回傳值將是 2.5566 ,第四個位數的進位規則同上述單一參數版本。
絕對值
Math 針對絕對值的運算同樣提供了必要的支援函式,同時包含了數種支援整數以及浮點數的版本,以下列出其中的 int 版本。
public static int Abs( int value )Abs() 函式回傳整數 value 的正整數,例如 Math.Abs(15) 以及 Math.Abs(-15) ,回傳值均為 15 ,除了整數,其他型別的版本亦相同,只是傳入的參數為特定型別。
除法運算
一個特殊的函式 IEEERemainder ,用來取得兩個數值相除之後所產生的餘數,定義如下:
public static double IEEERemainder ( double x, double y )其中 x 為被除數, y 為除數,回傳值則是 x 與 y 進行除法運算之後的餘數,以Math.IEEERemainder(10,3) 為例,其回傳值為 10/3 的餘數 1 ,而無論除數或是被除數,甚至回傳值,均是 double 型別資料。
除了以上介紹的方法, Math 類別還有少數幾個這裏沒有提及的成員,其中甚至包含了三個雙曲函式,計算雙曲正切(Hyperbolic tangent)的 Tanh 、雙曲正弦(Hyperbolic sine)的 Sinh 以及雙曲餘弦(Hyperbolic cosine)的 Cosh,這些函式的運用對於讀者而言應該不困難,讀者有興趣可自行了解。
沒有留言:
張貼留言