Funzioni matematiche (Visual Basic)

I metodi della classe System.Math forniscono funzioni matematiche trigonometriche, logaritmiche e altre funzioni matematiche comuni.

Osservazioni:

La tabella seguente elenca i metodi della classe System.Math. È possibile usarli in un programma Visual Basic:

Metodo .NET Descrizione
Abs Restituisce il valore assoluto di un numero.
Acos Restituisce l'angolo il cui coseno è il numero specificato.
Asin Restituisce l'angolo il cui seno è il numero specificato.
Atan Restituisce l'angolo la cui tangente è il numero specificato.
Atan2 Restituisce l'angolo la cui tangente è il quoziente di due numeri specificati.
BigMul Restituisce il prodotto completo di due numeri a 32 bit.
Ceiling Restituisce il valore integrale più piccolo maggiore o uguale al valore Decimal o Double specificato.
Cos Restituisce il coseno dell'angolo specificato.
Cosh Restituisce il coseno iperbolico dell'angolo specificato.
DivRem Restituisce il quoziente di due interi con segno a 32 bit o 64 bit e restituisce il resto come parametro di output.
Exp Restituisce e (base dei logaritmi naturali) elevato alla potenza specificata.
Floor Restituisce il numero intero più grande minore o uguale al numero Decimal o Double specificato.
IEEERemainder Restituisce il resto della divisione tra il numero specificato e un altro numero specificato.
Log Restituisce il logaritmo naturale (base e) di un numero specificato o il logaritmo di un numero specificato in una base specificata.
Log10 Restituisce il logaritmo in base 10 del numero specificato.
Max Restituisce il maggiore tra due valori.
Min Restituisce il meno elevato tra due numeri.
Pow Restituisce il numero specificato elevato alla potenza specificata.
Round Restituisce un valore Decimal o Double arrotondato al valore integrale più vicino o a un numero specificato di cifre frazionarie.
Sign Restituisce un valore Integer che indica il segno di un numero.
Sin Restituisce il seno dell'angolo specificato.
Sinh Restituisce il seno iperbolico dell'angolo specificato.
Sqrt Restituisce la radice quadrata del numero specificato.
Tan Restituisce la tangente dell'angolo specificato.
Tanh Restituisce la tangente iperbolica dell'angolo specificato.
Truncate Calcola la parte integrale di un numero Decimal o Double specificato.

La tabella seguente elenca i metodi della classe System.Math che non esistono in .NET Framework, ma vengono aggiunti in .NET Standard o .NET Core:

Metodo .NET Descrizione Disponibile in
Acosh Restituisce l'angolo il cui coseno iperbolico è il numero specificato. A partire da .NET Core 2.1 e .NET Standard 2.1
Asinh Restituisce l'angolo il cui seno iperbolico è il numero specificato. A partire da .NET Core 2.1 e .NET Standard 2.1
Atanh Restituisce l'angolo la cui tangente iperbolica è il numero specificato. A partire da .NET Core 2.1 e .NET Standard 2.1
BitDecrement Restituisce il successivo valore più piccolo che risulta minore di x. A partire da .NET Core 3.0
BitIncrement Restituisce il successivo valore più grande che risulta maggiore di x. A partire da .NET Core 3.0
Cbrt Restituisce la radice cubica di un numero specificato. A partire da .NET Core 2.1 e .NET Standard 2.1
Clamp Restituisce il valore value fissato all'intervallo inclusivo di min e max. A partire da .NET Core 2.0 e .NET Standard 2.1
CopySign Restituisce un valore con grandezza pari a x e segno y. A partire da .NET Core 3.0
FusedMultiplyAdd Restituisce (x * y) + z, arrotondato come unica operazione ternaria. A partire da .NET Core 3.0
ILogB Restituisce la parte intera del logaritmo in base 2 del numero specificato. A partire da .NET Core 3.0
Log2 Restituisce il logaritmo in base 2 di un numero specificato. A partire da .NET Core 3.0
MaxMagnitude Restituisce la grandezza più elevata tra due numeri a virgola mobile e precisione doppia. A partire da .NET Core 3.0
MinMagnitude Restituisce la grandezza meno elevata tra due numeri a virgola mobile e precisione doppia. A partire da .NET Core 3.0
ScaleB Restituisce x * 2^n calcolato in modo efficiente. A partire da .NET Core 3.0

Per usare queste funzioni senza qualifica, importare lo spazio dei nomi System.Math nel progetto aggiungendo il codice seguente all'inizio del file di origine:

Imports System.Math

Esempio - Abs

In questo esempio viene usato il metodo Abs della classe Math per calcolare il valore assoluto di un numero.

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

Esempio - Atan

In questo esempio viene utilizzato il metodo Atan della classe Math per calcolare il valore di pi.

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

Nota

La classe System.Math contiene un campo costante Math.PI. È possibile usarlo invece di calcolarlo.

Esempio - Cos

In questo esempio viene utilizzato il metodo Cos della classe Math per restituire il coseno di un angolo.

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

Esempio - Exp

In questo esempio viene utilizzato il metodo Exp della classe Math per restituire e elevato a una potenza.

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

Esempio - Log

In questo esempio viene utilizzato il metodo Log della classe Math per restituire il logaritmo naturale di un numero.

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

Esempio - Arrotondamento

In questo esempio viene utilizzato il metodo Round della classe Math per arrotondare un numero all'intero più vicino.

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

Esempio - Sign

In questo esempio viene utilizzato il metodo Sign della classe Math per determinare il segno di un numero.

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

Esempio - Sin

In questo esempio viene utilizzato il metodo Sin della classe Math per restituire il seno di un angolo.

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

Esempio - Sqrt

In questo esempio viene utilizzato il metodo Sqrt della classe Math per calcolare la radice quadrata di un numero.

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

Esempio - Tan

In questo esempio viene utilizzato il metodo Tan della classe Math per restituire la tangente di un angolo.

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

Vedi anche