次の方法で共有


数学関数 (Visual Basic)

System.Mathクラスのメソッドは、三角関数、対数関数、およびその他の一般的な数学関数を提供します。

注釈

次の表に、 System.Math クラスのメソッドを示します。 これらは、Visual Basic プログラムで使用できます。

.NET メソッド 説明
Abs 数値の絶対値を返します。
Acos コサインが指定した数値である角度を返します。
Asin サインが指定された数値である角度を返します。
Atan タンジェントが指定数となる角度を返します。
Atan2 正接が指定された 2 つの数値の商である角度を返します。
BigMul 2 つの 32 ビット数値の完全積を返します。
Ceiling 指定した Decimal または Double以上の最小値を返します。
Cos 指定した角度のコサインを返します。
Cosh 指定した角度の双曲線余弦を返します。
DivRem 2 つの 32 ビットまたは 64 ビット符号付き整数の商を返し、出力パラメーターの剰余も返します。
Exp 指定した累乗に引き上げられた e (自然対数の底) を返します。
Floor 指定した Decimal または Double 数値以下の最大の整数を返します。
IEEERemainder 指定した数値を別の指定した数値で除算した結果の剰余を返します。
Log 指定した数値の自然対数 (底 e) または指定した底の指定した数値の対数を返します。
Log10 指定した数値の底 10 の対数を返します。
Max 2 つの数値のうち大きい方を返します。
Min 2 つの数値のうち小さい方を返します。
Pow 指定した累乗に引き上げられた指定した数値を返します。
Round 最も近い整数値または指定した桁数の小数部に丸められた Decimal または Double の値を返します。
Sign 数値の符号を示す Integer 値を返します。
Sin 指定した角度のサインを返します。
Sinh 指定した角度の双曲線サインを返します。
Sqrt 指定した数値の平方根を返します。
Tan 指定した角度のタンジェントを返します。
Tanh 指定した角度の双曲線正接を返します。
Truncate 指定した Decimal または Double 数値の整数部分を計算します。

次の表に、.NET Framework には存在せず、.NET Standard または .NET Core に追加される System.Math クラスのメソッドを示します。

.NET メソッド 説明 使用できる場所
Acosh 双曲線余弦が指定した数値である角度を返します。 .NET Core 2.1 および .NET Standard 2.1 以降
Asinh 双曲線サインが指定した数値である角度を返します。 .NET Core 2.1 および .NET Standard 2.1 以降
Atanh 双曲線正接が指定した数値である角度を返します。 .NET Core 2.1 および .NET Standard 2.1 以降
BitDecrement x未満を比較する次に小さい値を返します。 .NET Core 3.0 以降
BitIncrement xより大きい値を比較する次の最大値を返します。 .NET Core 3.0 以降
Cbrt 指定した数値のキューブ ルートを返します。 .NET Core 2.1 および .NET Standard 2.1 以降
Clamp minmaxの包括的な範囲にクランプvalue返します。 .NET Core 2.0 および .NET Standard 2.1 以降
CopySign xの大きさとyの符号を持つ値を返します。 .NET Core 3.0 以降
FusedMultiplyAdd 1 つの三項演算として丸められた (x * y) + z を返します。 .NET Core 3.0 以降
ILogB 指定した数値の底 2 の整数対数を返します。 .NET Core 3.0 以降
Log2 指定した数値の底 2 の対数を返します。 .NET Core 3.0 以降
MaxMagnitude 2 つの倍精度浮動小数点数の大きな大きさを返します。 .NET Core 3.0 以降
MinMagnitude 2 つの倍精度浮動小数点数の小さい大きさを返します。 .NET Core 3.0 以降
ScaleB 効率的に計算された x * 2^n を返します。 .NET Core 3.0 以降

修飾なしでこれらの関数を使用するには、ソース ファイルの先頭に次のコードを追加して、 System.Math 名前空間をプロジェクトにインポートします。

Imports System.Math

例 - Abs

この例では、Math クラスの Abs メソッドを使用して、数値の絶対値を計算します。

Dim x As Double = Math.Abs(50.3)
Dim y As Double = Math.Abs(-50.3)
Console.WriteLine(x)
Console.WriteLine(y)
' This example produces the following output:
' 50.3
' 50.3

例 - Atan

この例では、Math クラスの Atan メソッドを使用して pi の値を計算します。

Public Function GetPi() As Double
    ' Calculate the value of pi.
    Return 4.0 * Math.Atan(1.0)
End Function

System.Math クラスには、定数フィールドMath.PI含まれています。 計算するのではなく、それを使用できます。

例 - Cos

この例では、Math クラスの Cos メソッドを使用して、角度のコサインを返します。

Public Function Sec(angle As Double) As Double
    ' Calculate the secant of angle, in radians.
    Return 1.0 / Math.Cos(angle)
End Function

例 - Exp

この例では、Math クラスの Exp メソッドを使用して、e を累乗に戻します。

Public Function Sinh(angle As Double) As Double
    ' Calculate hyperbolic sine of an angle, in radians.
    Return (Math.Exp(angle) - Math.Exp(-angle)) / 2.0
End Function

例 - ログ

この例では、Math クラスの Log メソッドを使用して、数値の自然対数を返します。

Public Function Asinh(value As Double) As Double
    ' Calculate inverse hyperbolic sine, in radians.
    Return Math.Log(value + Math.Sqrt(value * value + 1.0))
End Function

例 - 丸め

この例では、Math クラスの Round メソッドを使用して、数値を最も近い整数に丸めます。

Dim myVar2 As Double = Math.Round(2.8)
Console.WriteLine(myVar2)
' The code produces the following output:
' 3

例 - 署名

この例では、Math クラスの Sign メソッドを使用して、数値の符号を決定します。

Dim mySign1 As Integer = Math.Sign(12)
Dim mySign2 As Integer = Math.Sign(-2.4)
Dim mySign3 As Integer = Math.Sign(0)
Console.WriteLine(mySign1)
Console.WriteLine(mySign2)
Console.WriteLine(mySign3)
' The code produces the following output:
' 1
' -1
' 0

例 - Sin

この例では、Math クラスの Sin メソッドを使用して、角度のサインを返します。

Public Function Csc(angle As Double) As Double
    ' Calculate cosecant of an angle, in radians.
    Return 1.0 / Math.Sin(angle)
End Function

例 - Sqrt

この例では、Math クラスの Sqrt メソッドを使用して、数値の平方根を計算します。

Dim mySqrt1 As Double = Math.Sqrt(4)
Dim mySqrt2 As Double = Math.Sqrt(23)
Dim mySqrt3 As Double = Math.Sqrt(0)
Dim mySqrt4 As Double = Math.Sqrt(-4)
Console.WriteLine(mySqrt1)
Console.WriteLine(mySqrt2)
Console.WriteLine(mySqrt3)
Console.WriteLine(mySqrt4)
' The code produces the following output:
' 2
' 4.79583152331272
' 0
' NaN

例 - Tan

次の使用例は、Math クラスの Tan メソッドを使用して、角度のタンジェントを返します。

Public Function Ctan(angle As Double) As Double
    ' Calculate cotangent of an angle, in radians.
    Return 1.0 / Math.Tan(angle)
End Function

こちらも参照ください