数値演算関数 (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
関連項目
.NET