数値演算関数 (Visual Basic)

System.Math クラスのメソッドは、三角関数や対数関数などの一般的な数値関数を提供します。

Remarks

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 min 以上 max 以下の範囲に固定される 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

例 - Log

この例では、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

例 - Round

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

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

例 - Sign

この例では、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

関連項目