数学関数 Mathクラスのメソッドと定数 [C#]

C# Mathクラス 数学関数

.NETに実装されているMathクラスには様々な数学関数(メソッド)が用意されています。また、いくつかの定数も用意されています。
この記事では、Mathクラスで使用する主なメソッドと定数を紹介します。

Mathクラスの主なメソッド一覧

Mathクラスの主なメソッドには次のようなものがあります。

メソッド名 説明
Abs 指定した数値の絶対値を取得します。
Acos 指定した数値がコサインとなる角度を取得します。
Asin 指定した数値がサインとなる角度を取得します。
Atan 指定した数値がタンジェントとなる角度を取得します。
BigMul 2つの整数の積(掛け算)を計算します。
Ceiling 指定した数値以上の整数のうち、最小の値を取得します。(数値を切り上げます。)
Cos 指定した角度のコサインを取得します。
DivRem 2つの数値の商(割り算)を計算を計算します。また、outパラメーターに剰余(余り)を返します。
Exp 指定した数値で e (ネイピア数) を累乗した値を取得します。
Floor 指定した数値以下の整数のうち、最大の値を取得します。(数値を切り捨てます。)
Max 指定した2つの数のうち、大きい方を取得します。
Min 指定した2つの数のうち、小さい方を取得します。
Pow 指定した数値を指定した値で累乗した値を取得します。
Round 最も近い整数または指定した小数点以下の桁数に値を丸めます。(数値を四捨五入できます。)
Sign 数の符号を示す整数(0または1)を取得します。
Sin 指定した角度のサインを取得します。
Sqrt 指定した数値の平方根を取得します。
Tan 指定した角度のタンジェントを取得します。
Truncate 指定した数値の整数部の値を取得します。(数値を切り捨てます。)

Mathクラスの定数(フィールド)一覧

フィールド名 説明
Math.E ネイピア数(自然対数の底)を表します。
Math.PI 円周率(π)を表します。

絶対値を取得する

数値の絶対値の取得にはMathクラスのAbsメソッドが使用できます。

Abs メソッド

指定した数値の絶対値を取得します。
Absメソッドの引数にはdecimal, short, int, long, sbyte, float, doubleのいずれかの値が指定できます。

切り上げ、切り捨て、四捨五入する

数値の切り上げ、切り捨て、四捨五入には、Ceilingメソッド、Floorメソッド、Truncateメソッド、Roundメソッドが使用できます。

Ceiling メソッド

指定した数値以上の整数のうち、最小の値を取得します。このメソッドを使用して数値の切り上げができます。
Ceilingメソッドの引数にはdecimal, doubleのいずれかの値が指定できます。

Floor メソッド

指定した数値以下の整数のうち、最大の値を取得します。このメソッドを使用して数値を切り捨てができます。
Floorメソッドの引数にはdecimal, doubleのいずれかの値が指定できます。

Truncate メソッド

指定した数値の整数部の値を取得します。このメソッドを使用して数値を切り捨てができます。
Truncateメソッドの引数にはdecimal, doubleのいずれかの値が指定できます。

Round メソッド

最も近い整数または指定した小数点以下の桁数に値を丸めます。このメソッドを使用して数値の四捨五入できます。
Roundメソッドの第1引数にはdecimal, doubleのいずれかの値が指定できます。第2引数には丸める桁数をintで指定します。第2引数を省略した場合は整数に丸められます。第3引数には2つの数値の中間にある場合に丸める方法を示すMidpointRounding列挙型の値を指定します。MidpointRounding.AwayFromZeroを指定すると0から遠い方に丸められるので四捨五入ができます。MidpointRounding.ToEvenを指定すると偶数に近い方に丸められるので偶数丸め(銀行丸め)になります。第3引数を省略した場合は偶数丸めになります。

数値を計算する

数値の計算(積・商)にはBigMulメソッド、DivRemメソッドが使用できます。

BigMul メソッド

2つの整数の積(掛け算)を計算します。
BigMulメソッドの引数にはintが指定できます。

DivRem メソッド

2つの数値の商(割り算)を計算を計算します。また、outパラメーターに剰余(余り)を返します。
DivRemメソッドの引数にはint, longのいずれかの値が指定できます。

平方根を取得する

数値の平方根の取得にはSqrtメソッドが使用できます。

Sqrt メソッド

指定した数値の平方根を取得します。
Sqrtメソッドの引数にはdoubleの値が指定できます。

累乗した値を取得する

数値を累乗した値を取得するにはPowメソッド、Expメソッドが使用できます。

Pow メソッド

指定した数値を指定した値で累乗した値を取得します。
Powメソッドの引数にはdoubleの値が指定できます。

Exp メソッド

指定した数値で e (ネイピア数) を累乗した値を取得します。
Expメソッドの引数にはdoubleの値が指定できます。

Math.Exp(3)はMath.Pow(Math.E, 3)と同じになります。
Math.Exp(10)はMath.Pow(Math.E, 10)と同じになります。

数値の符号を表す値を取得する

数値の符号を取得するにはSignメソッドが使用できます。

Sign メソッド

数値の符号を示す整数(1 or 0 or -1)を取得します。
Signメソッドの引数にはdecimal, short, int, long, sbyte, float, doubleのいずれかの値が指定できます。

数値の大小を取得する

数値の大小を取得するにはMaxメソッド、Minメソッドが使用できます。

Max メソッド

指定した2つの数のうち、大きい方を取得します。
Maxメソッドの引数にはdecimal, short, int, long, byte, sbyte, float, double, ushort, uint, ulongのいずれかの値が指定できます。

Min メソッド

指定した2つの数のうち、小さい方を取得します。
Minメソッドの引数にはdecimal, short, int, long, byte, sbyte, float, double, ushort, uint, ulongのいずれかの値が指定できます。

サイン、コサイン、タンジェントを取得する

指定した角度(ラジアン)のサイン、コサイン、タンジェントを取得するには、Sinメソッド、Cosメソッド、Tanメソッドが使用できます。

Sin メソッド

指定した角度(ラジアン)のサインを取得します。
Sinメソッドの引数にはdoubleの値が指定できます。指定する値はラジアンで表した角度になります。

Cos メソッド

指定した角度(ラジアン)のコサインを取得します。
Cosメソッドの引数にはdoubleの値が指定できます。指定する値はラジアンで表した角度になります。

Tan メソッド

指定した角度(ラジアン)のタンジェントを取得します。
Tanメソッドの引数にはdoubleの値が指定できます。指定する値はラジアンで表した角度になります。

アークサイン、アークコサイン、アークタンジェントを取得する

指定したサイン、コサイン、タンジェントの値(ラジアン)となる角度を取得するにはAsinメソッド、Acosメソッド、Atanメソッドが使用できます。

Asin メソッド

指定した数値がサインとなる角度を取得します。
AsinメソッドはSinメソッドの逆三角関数です。
Asinメソッドの引数にはサインを表すdoubleの値が指定できます。
Asinメソッドの戻り値はラジアンで表した角度になります。

Acos メソッド

指定した数値がコサインとなる角度を取得します。
AcosメソッドはCosメソッドの逆三角関数です。
Acosメソッドの引数にはコサインを表すdoubleの値が指定できます。
Acosメソッドの戻り値はラジアンで表した角度になります。

Atan メソッド

指定した数値がタンジェントとなる角度を取得します。
AtanメソッドはTanメソッドの逆三角関数です。
Atanメソッドの引数にはタンジェントを表すdoubleの値が指定できます。
Atanメソッドの戻り値はラジアンで表した角度になります。