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