Math Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller konstanter och statiska metoder för trigonometriska, logaritmiska och andra vanliga matematiska funktioner.
public ref class Math abstract sealed
public ref class Math sealed
public static class Math
public sealed class Math
type Math = class
Public Class Math
Public NotInheritable Class Math
- Arv
-
Math
Exempel
I följande exempel används flera matematiska och trigonometriska funktioner från Math klassen för att beräkna de inre vinklarna för en trapetsoid.
/// <summary>
/// The following class represents simple functionality of the trapezoid.
/// </summary>
using System;
namespace MathClassCS
{
class MathTrapezoidSample
{
private double m_longBase;
private double m_shortBase;
private double m_leftLeg;
private double m_rightLeg;
public MathTrapezoidSample(double longbase, double shortbase, double leftLeg, double rightLeg)
{
m_longBase = Math.Abs(longbase);
m_shortBase = Math.Abs(shortbase);
m_leftLeg = Math.Abs(leftLeg);
m_rightLeg = Math.Abs(rightLeg);
}
private double GetRightSmallBase()
{
return (Math.Pow(m_rightLeg,2.0) - Math.Pow(m_leftLeg,2.0) + Math.Pow(m_longBase,2.0) + Math.Pow(m_shortBase,2.0) - 2* m_shortBase * m_longBase)/ (2*(m_longBase - m_shortBase));
}
public double GetHeight()
{
double x = GetRightSmallBase();
return Math.Sqrt(Math.Pow(m_rightLeg,2.0) - Math.Pow(x,2.0));
}
public double GetSquare()
{
return GetHeight() * m_longBase / 2.0;
}
public double GetLeftBaseRadianAngle()
{
double sinX = GetHeight()/m_leftLeg;
return Math.Round(Math.Asin(sinX),2);
}
public double GetRightBaseRadianAngle()
{
double x = GetRightSmallBase();
double cosX = (Math.Pow(m_rightLeg,2.0) + Math.Pow(x,2.0) - Math.Pow(GetHeight(),2.0))/(2*x*m_rightLeg);
return Math.Round(Math.Acos(cosX),2);
}
public double GetLeftBaseDegreeAngle()
{
double x = GetLeftBaseRadianAngle() * 180/ Math.PI;
return Math.Round(x,2);
}
public double GetRightBaseDegreeAngle()
{
double x = GetRightBaseRadianAngle() * 180/ Math.PI;
return Math.Round(x,2);
}
static void Main(string[] args)
{
MathTrapezoidSample trpz = new MathTrapezoidSample(20.0, 10.0, 8.0, 6.0);
Console.WriteLine("The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0");
double h = trpz.GetHeight();
Console.WriteLine("Trapezoid height is: " + h.ToString());
double dxR = trpz.GetLeftBaseRadianAngle();
Console.WriteLine("Trapezoid left base angle is: " + dxR.ToString() + " Radians");
double dyR = trpz.GetRightBaseRadianAngle();
Console.WriteLine("Trapezoid right base angle is: " + dyR.ToString() + " Radians");
double dxD = trpz.GetLeftBaseDegreeAngle();
Console.WriteLine("Trapezoid left base angle is: " + dxD.ToString() + " Degrees");
double dyD = trpz.GetRightBaseDegreeAngle();
Console.WriteLine("Trapezoid right base angle is: " + dyD.ToString() + " Degrees");
}
}
}
open System
/// The following class represents simple functionality of the trapezoid.
type MathTrapezoidSample(longbase, shortbase, leftLeg, rightLeg) =
member _.GetRightSmallBase() =
(Math.Pow(rightLeg, 2.) - Math.Pow(leftLeg, 2.) + Math.Pow(longbase, 2.) + Math.Pow(shortbase, 2.) - 2. * shortbase * longbase) / (2. * (longbase - shortbase))
member this.GetHeight() =
let x = this.GetRightSmallBase()
Math.Sqrt(Math.Pow(rightLeg, 2.) - Math.Pow(x, 2.))
member this.GetSquare() =
this.GetHeight() * longbase / 2.
member this.GetLeftBaseRadianAngle() =
let sinX = this.GetHeight() / leftLeg
Math.Round(Math.Asin sinX,2)
member this.GetRightBaseRadianAngle() =
let x = this.GetRightSmallBase()
let cosX = (Math.Pow(rightLeg, 2.) + Math.Pow(x, 2.) - Math.Pow(this.GetHeight(), 2.))/(2. * x * rightLeg)
Math.Round(Math.Acos cosX, 2)
member this.GetLeftBaseDegreeAngle() =
let x = this.GetLeftBaseRadianAngle() * 180. / Math.PI
Math.Round(x, 2)
member this.GetRightBaseDegreeAngle() =
let x = this.GetRightBaseRadianAngle() * 180. / Math.PI
Math.Round(x, 2)
let trpz = MathTrapezoidSample(20., 10., 8., 6.)
printfn "The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0"
let h = trpz.GetHeight()
printfn $"Trapezoid height is: {h}"
let dxR = trpz.GetLeftBaseRadianAngle()
printfn $"Trapezoid left base angle is: {dxR} Radians"
let dyR = trpz.GetRightBaseRadianAngle()
printfn $"Trapezoid right base angle is: {dyR} Radians"
let dxD = trpz.GetLeftBaseDegreeAngle()
printfn $"Trapezoid left base angle is: {dxD} Degrees"
let dyD = trpz.GetRightBaseDegreeAngle()
printfn $"Trapezoid right base angle is: {dyD} Degrees"
'The following class represents simple functionality of the trapezoid.
Class MathTrapezoidSample
Private m_longBase As Double
Private m_shortBase As Double
Private m_leftLeg As Double
Private m_rightLeg As Double
Public Sub New(ByVal longbase As Double, ByVal shortbase As Double, ByVal leftLeg As Double, ByVal rightLeg As Double)
m_longBase = Math.Abs(longbase)
m_shortBase = Math.Abs(shortbase)
m_leftLeg = Math.Abs(leftLeg)
m_rightLeg = Math.Abs(rightLeg)
End Sub
Private Function GetRightSmallBase() As Double
GetRightSmallBase = (Math.Pow(m_rightLeg, 2) - Math.Pow(m_leftLeg, 2) + Math.Pow(m_longBase, 2) + Math.Pow(m_shortBase, 2) - 2 * m_shortBase * m_longBase) / (2 * (m_longBase - m_shortBase))
End Function
Public Function GetHeight() As Double
Dim x As Double = GetRightSmallBase()
GetHeight = Math.Sqrt(Math.Pow(m_rightLeg, 2) - Math.Pow(x, 2))
End Function
Public Function GetSquare() As Double
GetSquare = GetHeight() * m_longBase / 2
End Function
Public Function GetLeftBaseRadianAngle() As Double
Dim sinX As Double = GetHeight() / m_leftLeg
GetLeftBaseRadianAngle = Math.Round(Math.Asin(sinX), 2)
End Function
Public Function GetRightBaseRadianAngle() As Double
Dim x As Double = GetRightSmallBase()
Dim cosX As Double = (Math.Pow(m_rightLeg, 2) + Math.Pow(x, 2) - Math.Pow(GetHeight(), 2)) / (2 * x * m_rightLeg)
GetRightBaseRadianAngle = Math.Round(Math.Acos(cosX), 2)
End Function
Public Function GetLeftBaseDegreeAngle() As Double
Dim x As Double = GetLeftBaseRadianAngle() * 180 / Math.PI
GetLeftBaseDegreeAngle = Math.Round(x, 2)
End Function
Public Function GetRightBaseDegreeAngle() As Double
Dim x As Double = GetRightBaseRadianAngle() * 180 / Math.PI
GetRightBaseDegreeAngle = Math.Round(x, 2)
End Function
Public Shared Sub Main()
Dim trpz As MathTrapezoidSample = New MathTrapezoidSample(20, 10, 8, 6)
Console.WriteLine("The trapezoid's bases are 20.0 and 10.0, the trapezoid's legs are 8.0 and 6.0")
Dim h As Double = trpz.GetHeight()
Console.WriteLine("Trapezoid height is: " + h.ToString())
Dim dxR As Double = trpz.GetLeftBaseRadianAngle()
Console.WriteLine("Trapezoid left base angle is: " + dxR.ToString() + " Radians")
Dim dyR As Double = trpz.GetRightBaseRadianAngle()
Console.WriteLine("Trapezoid right base angle is: " + dyR.ToString() + " Radians")
Dim dxD As Double = trpz.GetLeftBaseDegreeAngle()
Console.WriteLine("Trapezoid left base angle is: " + dxD.ToString() + " Degrees")
Dim dyD As Double = trpz.GetRightBaseDegreeAngle()
Console.WriteLine("Trapezoid right base angle is: " + dyD.ToString() + " Degrees")
End Sub
End Class
Fält
| Name | Description |
|---|---|
| E |
Representerar den naturliga logaritmiska basen, som anges av konstanten , |
| PI |
Representerar förhållandet mellan en cirkels omkrets och dess diameter, som anges av konstanten, π. |
| Tau |
Representerar antalet radianer i en tur, som anges av konstanten, τ. |
Metoder
| Name | Description |
|---|---|
| Abs(Decimal) |
Returnerar det absoluta värdet för ett Decimal tal. |
| Abs(Double) |
Returnerar det absoluta värdet för ett flyttal med dubbel precision. |
| Abs(Int16) |
Returnerar det absoluta värdet för ett 16-bitars signerat heltal. |
| Abs(Int32) |
Returnerar det absoluta värdet för ett 32-bitars signerat heltal. |
| Abs(Int64) |
Returnerar det absoluta värdet för ett 64-bitars signerat heltal. |
| Abs(IntPtr) |
Returnerar det absoluta värdet för ett inbyggt signerat heltal. |
| Abs(SByte) |
Returnerar det absoluta värdet för ett 8-bitars signerat heltal. |
| Abs(Single) |
Returnerar det absoluta värdet för ett flyttal med enkel precision. |
| Acos(Double) |
Returnerar vinkeln vars cosiné är det angivna talet. |
| Acosh(Double) |
Returnerar vinkeln vars hyperboliska cosiné är det angivna talet. |
| Asin(Double) |
Returnerar vinkeln vars sinus är det angivna talet. |
| Asinh(Double) |
Returnerar vinkeln vars hyperboliska sinus är det angivna talet. |
| Atan(Double) |
Returnerar vinkeln vars tangent är det angivna talet. |
| Atan2(Double, Double) |
Returnerar vinkeln vars tangent är kvoten för två angivna tal. |
| Atanh(Double) |
Returnerar vinkeln vars hyperboliska tangens är det angivna talet. |
| BigMul(Int32, Int32) |
Producerar hela produkten av två 32-bitarsnummer. |
| BigMul(Int64, Int64, Int64) |
Producerar den fullständiga produkten av två 64-bitarsnummer. |
| BigMul(Int64, Int64) |
Producerar den fullständiga produkten av två 64-bitarsnummer. |
| BigMul(UInt32, UInt32) |
Ger den fullständiga produkten av två osignerade 32-bitarsnummer. |
| BigMul(UInt64, UInt64, UInt64) |
Genererar den fullständiga produkten av två osignerade 64-bitarsnummer. |
| BigMul(UInt64, UInt64) |
Genererar den fullständiga produkten av två osignerade 64-bitarsnummer. |
| BitDecrement(Double) |
Returnerar det största värdet som jämför mindre än ett angivet värde. |
| BitIncrement(Double) |
Returnerar det minsta värde som jämför större än ett angivet värde. |
| Cbrt(Double) |
Returnerar kubroten för ett angivet tal. |
| Ceiling(Decimal) |
Returnerar det minsta integralvärdet som är större än eller lika med det angivna decimaltalet. |
| Ceiling(Double) |
Returnerar det minsta integralvärdet som är större än eller lika med det angivna flyttalsnumret med dubbel precision. |
| Clamp(Byte, Byte, Byte) |
Returnerar |
| Clamp(Decimal, Decimal, Decimal) |
Returnerar |
| Clamp(Double, Double, Double) |
Returnerar |
| Clamp(Int16, Int16, Int16) |
Returnerar |
| Clamp(Int32, Int32, Int32) |
Returnerar |
| Clamp(Int64, Int64, Int64) |
Returnerar |
| Clamp(IntPtr, IntPtr, IntPtr) |
Returnerar |
| Clamp(SByte, SByte, SByte) |
Returnerar |
| Clamp(Single, Single, Single) |
Returnerar |
| Clamp(UInt16, UInt16, UInt16) |
Returnerar |
| Clamp(UInt32, UInt32, UInt32) |
Returnerar |
| Clamp(UInt64, UInt64, UInt64) |
Returnerar |
| Clamp(UIntPtr, UIntPtr, UIntPtr) |
Returnerar |
| CopySign(Double, Double) |
Returnerar ett värde med storleken |
| Cos(Double) |
Returnerar cosininen för den angivna vinkeln. |
| Cosh(Double) |
Returnerar den angivna vinkelns hyperboliska cosiné. |
| DivRem(Byte, Byte) |
Genererar kvoten och resten av två osignerade 8-bitars tal. |
| DivRem(Int16, Int16) |
Genererar kvoten och resten av två signerade 16-bitarsnummer. |
| DivRem(Int32, Int32, Int32) |
Beräknar kvoten för två 32-bitars signerade heltal och returnerar även resten i en utdataparameter. |
| DivRem(Int32, Int32) |
Genererar kvoten och resten av två signerade 32-bitarsnummer. |
| DivRem(Int64, Int64, Int64) |
Beräknar kvoten för två 64-bitars signerade heltal och returnerar även resten i en utdataparameter. |
| DivRem(Int64, Int64) |
Genererar kvoten och resten av två signerade 64-bitarsnummer. |
| DivRem(IntPtr, IntPtr) |
Genererar kvoten och resten av två signerade interna tal. |
| DivRem(SByte, SByte) |
Genererar kvoten och resten av två signerade 8-bitarsnummer. |
| DivRem(UInt16, UInt16) |
Genererar kvoten och resten av två osignerade 16-bitars tal. |
| DivRem(UInt32, UInt32) |
Genererar kvoten och resten av två osignerade 32-bitarsnummer. |
| DivRem(UInt64, UInt64) |
Genererar kvoten och resten av två osignerade 64-bitarsnummer. |
| DivRem(UIntPtr, UIntPtr) |
Genererar kvoten och resten av två osignerade interna tal. |
| Exp(Double) |
Returnerar |
| Floor(Decimal) |
Returnerar det största integralvärdet mindre än eller lika med det angivna decimaltalet. |
| Floor(Double) |
Returnerar det största integralvärdet mindre än eller lika med det angivna flyttalsnumret med dubbel precision. |
| FusedMultiplyAdd(Double, Double, Double) |
Returnerar (x * y) + z, avrundat som en ternary-åtgärd. |
| IEEERemainder(Double, Double) |
Returnerar resten från divisionen av ett angivet tal med ett annat angivet tal. |
| ILogB(Double) |
Returnerar base 2-heltalsloggaritmen för ett angivet tal. |
| Log(Double, Double) |
Returnerar logaritmen för ett angivet tal i en angiven bas. |
| Log(Double) |
Returnerar logaritmen natural (base |
| Log10(Double) |
Returnerar bas 10 logaritm för ett angivet tal. |
| Log2(Double) |
Returnerar bas 2-logaritmen för ett angivet tal. |
| Max(Byte, Byte) |
Returnerar det större av två 8-bitars osignerade heltal. |
| Max(Decimal, Decimal) |
Returnerar det större av två decimaltal. |
| Max(Double, Double) |
Returnerar det större av två flyttal med dubbel precision. |
| Max(Int16, Int16) |
Returnerar det större av två 16-bitars signerade heltal. |
| Max(Int32, Int32) |
Returnerar det större av två 32-bitars signerade heltal. |
| Max(Int64, Int64) |
Returnerar det större av två 64-bitars signerade heltal. |
| Max(IntPtr, IntPtr) |
Returnerar det större av två inbyggda signerade heltal. |
| Max(SByte, SByte) |
Returnerar det större av två 8-bitars signerade heltal. |
| Max(Single, Single) |
Returnerar det större av två flyttalsnummer med enkel precision. |
| Max(UInt16, UInt16) |
Returnerar det större av två 16-bitars osignerade heltal. |
| Max(UInt32, UInt32) |
Returnerar det större av två 32-bitars osignerade heltal. |
| Max(UInt64, UInt64) |
Returnerar det större av två 64-bitars osignerade heltal. |
| Max(UIntPtr, UIntPtr) |
Returnerar det större av två inbyggda osignerade heltal. |
| MaxMagnitude(Double, Double) |
Returnerar den större storleken på två flyttal med dubbel precision. |
| Min(Byte, Byte) |
Returnerar det mindre av två 8-bitars osignerade heltal. |
| Min(Decimal, Decimal) |
Returnerar det mindre av två decimaltal. |
| Min(Double, Double) |
Returnerar det mindre av två flyttal med dubbel precision. |
| Min(Int16, Int16) |
Returnerar det mindre av två 16-bitars signerade heltal. |
| Min(Int32, Int32) |
Returnerar det mindre av två 32-bitars signerade heltal. |
| Min(Int64, Int64) |
Returnerar det mindre av två 64-bitars signerade heltal. |
| Min(IntPtr, IntPtr) |
Returnerar det mindre av två inbyggda signerade heltal. |
| Min(SByte, SByte) |
Returnerar det mindre av två 8-bitars signerade heltal. |
| Min(Single, Single) |
Returnerar det mindre av två flyttal med enkel precision. |
| Min(UInt16, UInt16) |
Returnerar det mindre av två 16-bitars osignerade heltal. |
| Min(UInt32, UInt32) |
Returnerar det mindre av två 32-bitars osignerade heltal. |
| Min(UInt64, UInt64) |
Returnerar det mindre av två 64-bitars osignerade heltal. |
| Min(UIntPtr, UIntPtr) |
Returnerar det mindre av två inbyggda osignerade heltal. |
| MinMagnitude(Double, Double) |
Returnerar den mindre storleken på två flyttal med dubbel precision. |
| Pow(Double, Double) |
Returnerar ett angivet tal som har upphöjts till den angivna kraften. |
| ReciprocalEstimate(Double) |
Returnerar en uppskattning av reciprocal för ett angivet tal. |
| ReciprocalSqrtEstimate(Double) |
Returnerar en uppskattning av den ömsesidiga kvadratroten för ett angivet tal. |
| Round(Decimal, Int32, MidpointRounding) |
Avrundar ett decimalvärde till ett angivet antal bråksiffror med den angivna avrundningskonventionen. |
| Round(Decimal, Int32) |
Avrundar ett decimalvärde till ett angivet antal bråksiffror och avrundar mittpunktsvärden till närmaste jämna tal. |
| Round(Decimal, MidpointRounding) |
Avrundar ett decimalvärde som ett heltal med den angivna avrundningskonventionen. |
| Round(Decimal) |
Avrundar ett decimalvärde till närmaste integralvärde och avrundar mittpunktsvärdena till närmaste jämna tal. |
| Round(Double, Int32, MidpointRounding) |
Avrundar ett flyttal med dubbel precision till ett angivet antal bråksiffror med den angivna avrundningskonventionen. |
| Round(Double, Int32) |
Avrundar ett flyttal med dubbel precision till ett angivet antal bråksiffror och avrundar mittpunktsvärden till närmaste jämna tal. |
| Round(Double, MidpointRounding) |
Avrundar ett flyttal med dubbel precision till ett heltal med den angivna avrundningskonventionen. |
| Round(Double) |
Avrundar ett flyttal med dubbel precision till närmaste integralvärde och avrundar mittpunktsvärdena till närmaste jämna tal. |
| ScaleB(Double, Int32) |
Returnerar x * 2^n som beräknas effektivt. |
| Sign(Decimal) |
Returnerar ett heltal som anger tecknet för ett decimaltal. |
| Sign(Double) |
Returnerar ett heltal som anger tecknet för ett flyttal med dubbel precision. |
| Sign(Int16) |
Returnerar ett heltal som anger tecknet för ett 16-bitars signerat heltal. |
| Sign(Int32) |
Returnerar ett heltal som anger tecknet för ett 32-bitars signerat heltal. |
| Sign(Int64) |
Returnerar ett heltal som anger tecknet för ett 64-bitars signerat heltal. |
| Sign(IntPtr) |
Returnerar ett heltal som anger tecknet för ett inbyggt signerat heltal. |
| Sign(SByte) |
Returnerar ett heltal som anger tecknet för ett 8-bitars signerat heltal. |
| Sign(Single) |
Returnerar ett heltal som anger tecknet för ett flyttal med enkel precision. |
| Sin(Double) |
Returnerar sinus för den angivna vinkeln. |
| SinCos(Double) |
Returnerar sinus och cosinus för den angivna vinkeln. |
| Sinh(Double) |
Returnerar den angivna vinkelns hyperboliska sinus. |
| Sqrt(Double) |
Returnerar kvadratroten för ett angivet tal. |
| Tan(Double) |
Returnerar tangensen för den angivna vinkeln. |
| Tanh(Double) |
Returnerar den angivna vinkelns hyperboliska tangens. |
| Truncate(Decimal) |
Beräknar den integrerade delen av ett angivet decimaltal. |
| Truncate(Double) |
Beräknar den integrerade delen av ett angivet flyttal med dubbel precision. |