Прочитать на английском

Поделиться через


Math Класс

Определение

Предоставляет константы и статические методы для тригонометрических, логарифмических и других распространенных математических функций.

public static class Math
public sealed class Math
Наследование
Math

Примеры

В следующем примере используются несколько математических и тригонометрических функций из класса Math для вычисления внутренних углов трапециоида.

/// <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 left base angle is: " + dyD.ToString() + " Degrees");
        }
    }
}

Поля

E

Представляет естественную логарифмическую базу, указанную константой, e.

PI

Представляет отношение окружности круга к его диаметру, заданному константой, π.

Tau

Представляет количество радианов в одном повороте, указанное константой, fx.

Методы

Abs(Decimal)

Возвращает абсолютное значение Decimal числа.

Abs(Double)

Возвращает абсолютное значение числа с плавающей запятой двойной точности.

Abs(Int16)

Возвращает абсолютное значение 16-разрядного целого числа со знаком.

Abs(Int32)

Возвращает абсолютное значение 32-разрядного целого числа со знаком.

Abs(Int64)

Возвращает абсолютное значение 64-разрядного целого числа со знаком.

Abs(IntPtr)

Возвращает абсолютное значение собственного целого числа со знаком.

Abs(SByte)

Возвращает абсолютное значение 8-разрядного целого числа со знаком.

Abs(Single)

Возвращает абсолютное значение числа с плавающей запятой с одной точностью.

Acos(Double)

Возвращает угол, косинус которого является указанным числом.

Acosh(Double)

Возвращает угол, гиперболический косинус которого является указанным числом.

Asin(Double)

Возвращает угол, синус которого является указанным числом.

Asinh(Double)

Возвращает угол, гиперболический синус которого является указанным числом.

Atan(Double)

Возвращает угол, тангенс которого является указанным числом.

Atan2(Double, Double)

Возвращает угол, тангенс которого является кворентом двух указанных чисел.

Atanh(Double)

Возвращает угол, гиперболический тангенс которого является указанным числом.

BigMul(Int32, Int32)

Создает полный продукт двух 32-разрядных чисел.

BigMul(Int64, Int64)

Создает полный продукт двух 64-разрядных чисел.

BigMul(Int64, Int64, Int64)

Создает полный продукт двух 64-разрядных чисел.

BigMul(UInt32, UInt32)

Создает полный продукт двух незначенных 32-разрядных чисел.

BigMul(UInt64, UInt64)

Создает полный продукт двух неподписанных 64-разрядных чисел.

BigMul(UInt64, UInt64, UInt64)

Создает полный продукт двух неподписанных 64-разрядных чисел.

BitDecrement(Double)

Возвращает наибольшее значение, которое сравнивает меньше указанного значения.

BitIncrement(Double)

Возвращает наименьшее значение, которое сравнивает больше указанного значения.

Cbrt(Double)

Возвращает корень куба указанного числа.

Ceiling(Decimal)

Возвращает наименьшее целочисленное значение, большее или равное указанному десятичному числу.

Ceiling(Double)

Возвращает наименьшее целочисленное значение, большее или равное указанному числу с плавающей запятой двойной точности.

Clamp(Byte, Byte, Byte)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(Decimal, Decimal, Decimal)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(Double, Double, Double)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(Int16, Int16, Int16)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(Int32, Int32, Int32)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(Int64, Int64, Int64)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(IntPtr, IntPtr, IntPtr)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(SByte, SByte, SByte)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(Single, Single, Single)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(UInt16, UInt16, UInt16)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(UInt32, UInt32, UInt32)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(UInt64, UInt64, UInt64)

Возвращает value, зажатый к инклюзивному диапазону min и max.

Clamp(UIntPtr, UIntPtr, UIntPtr)

Возвращает value, зажатый к инклюзивному диапазону min и max.

CopySign(Double, Double)

Возвращает значение с величиной x и признаком y.

Cos(Double)

Возвращает косинус указанного угла.

Cosh(Double)

Возвращает гиперболический косинус указанного угла.

DivRem(Byte, Byte)

Создает кавычки и оставшуюся часть двух неподписанных 8-разрядных чисел.

DivRem(Int16, Int16)

Создает кавычки и оставшуюся часть двух подписанных 16-разрядных чисел.

DivRem(Int32, Int32)

Создает кавычки и оставшуюся часть двух подписанных 32-разрядных чисел.

DivRem(Int32, Int32, Int32)

Вычисляет кавычки двух 32-разрядных целых чисел со знаком, а также возвращает оставшуюся часть в выходном параметре.

DivRem(Int64, Int64)

Создает кавычки и оставшуюся часть двух подписанных 64-разрядных чисел.

DivRem(Int64, Int64, Int64)

Вычисляет кавычки двух 64-разрядных целых чисел со знаком, а также возвращает оставшуюся часть в выходном параметре.

DivRem(IntPtr, IntPtr)

Создает кворот и оставшуюся часть двух подписанных номеров собственного размера.

DivRem(SByte, SByte)

Создает кавычки и оставшуюся часть двух подписанных 8-разрядных чисел.

DivRem(UInt16, UInt16)

Создает кавычки и оставшуюся часть двух неподписанных 16-разрядных чисел.

DivRem(UInt32, UInt32)

Создает кавычки и оставшуюся часть двух неподписанных 32-разрядных чисел.

DivRem(UInt64, UInt64)

Создает кавычки и оставшуюся часть двух неподписанных 64-разрядных чисел.

DivRem(UIntPtr, UIntPtr)

Создает кворот и оставшуюся часть двух неподписанных номеров собственного размера.

Exp(Double)

Возвращает e, поднятые до указанной мощности.

Floor(Decimal)

Возвращает наибольшее целочисленное значение меньше или равно указанному десятичному числу.

Floor(Double)

Возвращает наибольшее целочисленное значение меньше или равно указанному числу с плавающей запятой двойной точности.

FusedMultiplyAdd(Double, Double, Double)

Возвращает (x * y) + z, округляется как одна тернарная операция.

IEEERemainder(Double, Double)

Возвращает оставшуюся часть, полученную от деления указанного числа на другое указанное число.

ILogB(Double)

Возвращает базовый 2 целочисленный логарифм указанного числа.

Log(Double)

Возвращает естественный логарифм (базовый e) указанного числа.

Log(Double, Double)

Возвращает логарифм указанного числа в указанной базе.

Log10(Double)

Возвращает базовый 10 логарифм указанного числа.

Log2(Double)

Возвращает базовый 2 логарифм указанного числа.

Max(Byte, Byte)

Возвращает больше двух 8-разрядных целых чисел без знака.

Max(Decimal, Decimal)

Возвращает больше двух десятичных чисел.

Max(Double, Double)

Возвращает больше двух чисел с плавающей запятой двойной точности.

Max(Int16, Int16)

Возвращает больше двух 16-разрядных целых чисел со знаком.

Max(Int32, Int32)

Возвращает больше двух 32-разрядных целых чисел со знаком.

Max(Int64, Int64)

Возвращает больше двух 64-разрядных целых чисел со знаком.

Max(IntPtr, IntPtr)

Возвращает больше двух собственных целых чисел со знаком.

Max(SByte, SByte)

Возвращает больше двух 8-разрядных целых чисел со знаком.

Max(Single, Single)

Возвращает больше двух чисел с плавающей запятой с одной точностью.

Max(UInt16, UInt16)

Возвращает больше двух 16-разрядных целых чисел без знака.

Max(UInt32, UInt32)

Возвращает больше двух 32-разрядных целых чисел без знака.

Max(UInt64, UInt64)

Возвращает больше двух 64-разрядных целых чисел без знака.

Max(UIntPtr, UIntPtr)

Возвращает больше двух собственных целых чисел без знака.

MaxMagnitude(Double, Double)

Возвращает большую величину двух чисел с плавающей запятой двойной точности.

Min(Byte, Byte)

Возвращает меньшее из двух 8-разрядных целых чисел без знака.

Min(Decimal, Decimal)

Возвращает меньшее из двух десятичных чисел.

Min(Double, Double)

Возвращает меньшее число с плавающей запятой двойной точности.

Min(Int16, Int16)

Возвращает меньшее из двух 16-разрядных целых чисел со знаком.

Min(Int32, Int32)

Возвращает меньшее из двух 32-разрядных целых чисел со знаком.

Min(Int64, Int64)

Возвращает меньшее из двух 64-разрядных целых чисел со знаком.

Min(IntPtr, IntPtr)

Возвращает меньшее из двух собственных целых чисел со знаком.

Min(SByte, SByte)

Возвращает меньшее из двух 8-разрядных целых чисел со знаком.

Min(Single, Single)

Возвращает меньше двух чисел с плавающей запятой с одной точностью.

Min(UInt16, UInt16)

Возвращает меньшее из двух 16-разрядных целых чисел без знака.

Min(UInt32, UInt32)

Возвращает меньшее из двух 32-разрядных целых чисел без знака.

Min(UInt64, UInt64)

Возвращает меньшее из двух 64-разрядных целых чисел без знака.

Min(UIntPtr, UIntPtr)

Возвращает меньшее из двух собственных целых чисел без знака.

MinMagnitude(Double, Double)

Возвращает меньшее значение двух чисел с плавающей запятой двойной точности.

Pow(Double, Double)

Возвращает указанное число, поднятое до указанной мощности.

ReciprocalEstimate(Double)

Возвращает оценку обратного значения указанного числа.

ReciprocalSqrtEstimate(Double)

Возвращает оценку обратного квадратного корня указанного числа.

Round(Decimal)

Округляет десятичное значение до ближайшего целочисленного значения и округляет значения середины до ближайшего четного числа.

Round(Decimal, Int32)

Округляет десятичное значение до указанного числа дробных цифр и округляет средние значения до ближайшего четного числа.

Round(Decimal, Int32, MidpointRounding)

Округляет десятичное значение до указанного числа дробных цифр с помощью указанного соглашения округления.

Round(Decimal, MidpointRounding)

Округляет десятичное значение целочисленного числа с помощью указанного соглашения округления.

Round(Double)

Округляет значение с плавающей запятой двойной точности до ближайшего целочисленного значения и округляет значения середины до ближайшего четного числа.

Round(Double, Int32)

Округляет значение с плавающей запятой двойной точности до указанного числа дробных цифр и округляет значения середины до ближайшего четного числа.

Round(Double, Int32, MidpointRounding)

Округляет значение с плавающей запятой двойной точности до указанного количества дробных цифр с помощью указанного соглашения округления.

Round(Double, MidpointRounding)

Округляет значение с плавающей запятой двойной точности до целого числа, используя указанное соглашение округления.

ScaleB(Double, Int32)

Возвращает x * 2^n, вычисленное эффективно.

Sign(Decimal)

Возвращает целое число, указывающее знак десятичного числа.

Sign(Double)

Возвращает целое число, указывающее знак числа с плавающей запятой двойной точности.

Sign(Int16)

Возвращает целое число, указывающее знак 16-разрядного целого числа со знаком.

Sign(Int32)

Возвращает целое число, указывающее знак 32-разрядного целого числа со знаком.

Sign(Int64)

Возвращает целое число, указывающее знак 64-разрядного целого числа со знаком.

Sign(IntPtr)

Возвращает целое число, указывающее знак собственного целого числа со знаком.

Sign(SByte)

Возвращает целое число, указывающее знак 8-разрядного целого числа со знаком.

Sign(Single)

Возвращает целое число, указывающее знак числа с плавающей запятой с одной точностью.

Sin(Double)

Возвращает синус указанного угла.

SinCos(Double)

Возвращает синус и косинус указанного угла.

Sinh(Double)

Возвращает гиперболический синус указанного угла.

Sqrt(Double)

Возвращает квадратный корень указанного числа.

Tan(Double)

Возвращает тангенс указанного угла.

Tanh(Double)

Возвращает гиперболический тангенс указанного угла.

Truncate(Decimal)

Вычисляет неотъемлемую часть указанного десятичного числа.

Truncate(Double)

Вычисляет неотъемлемую часть указанного числа с плавающей запятой двойной точности.

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0