Перейти к содержанию

Математические: различия между версиями

Материал из Химсофт Вики
Метка: отменено
Нет описания правки
 
(не показано 37 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''Математические функции''' - обеспечивают точность и производительность расчетов.
== Abs ==
{|class="wikitable" style="background-color: #fff;"
|-
! Функция !! Параметры !! Возвращаемое значение
|-
 
| <code>Abs</code> || <code>sbyte value</code> || <code>sbyte</code>
|-
 
| <code>Abs</code> || <code>short value</code> || <code>short</code>
|-
 
| <code>Abs</code> || <code>int value</code> || <code>int</code>
|-
 
| <code>Abs</code> || <code>long value</code> || <code>long</code>
|-
 
| <code>Abs</code> || <code>float value</code> || <code>float</code>
|-
 
| <code>Abs</code> || <code>double value</code> || <code>double</code>
|-
 
| <code>Abs</code> || <code>decimal value</code> || <code>decimal</code>
|}
'''
Возвращает абсолютную величину значения <code>value</code>.
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Abs(-2.2) = 2.2
</syntaxhighlight>
 
== Acos ==
{|class="wikitable" style="background-color: #fff;"
|-
! Функция !! Параметры !! Возвращаемое значение
|-
 
| <code>Acos</code> || <code>double d</code> || <code>double</code>
|}
 
Возвращает угол (в радианах), который соответствует косинусу <code>d</code>. Значение <code>d</code> должно быть в диапазоне от <code>-1</code> до <code>1</code>.
 
'''''Примечание:''' чтобы перевести радианы в градусы, умножьте значение в радианах на <code>180 / Math.PI</code>.''
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Acos(0) * 180 / Math.PI = 90
</syntaxhighlight>
 
== Asin ==
{|class="wikitable" style="background-color: #fff;"
|-
! Функция !! Параметры !! Возвращаемое значение
|-
 
| <code>Asin</code> || <code>double d</code> || <code>double</code>
|}


{|class="wikitable" style="margin:auto; background-color: #fff;"  
Возвращает угол (в радианах), который соответствует синусу <code>d</code>. Значение <code>d</code> должно быть в диапазоне от <code>-1</code> до <code>1</code>.
 
'''''Примечание:''' чтобы перевести радианы в градусы, умножьте значение в радианах на <code>180 / Math.PI</code>.''
</div>
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Asin(0) = 0
</syntaxhighlight>
 
== Atan ==
{|class="wikitable" style="background-color: #fff;"  
|-
|-
!Имя функции
! Функция !! Параметры !! Возвращаемое значение
!Описание
!Пример
|-
|-
|Abs
 
|Возвращает модуль числа
| <code>Atan</code> || <code>double d</code> || <code>double</code>
|<code>Abs(<Number>)</code><br><code>=Abs(-5.5);=Abs(Fields!YearlyIncome.Value-80000)</code>
|}
 
Возвращает угол (в радианах), который соответствует тангенсу <code>d</code>.
 
'''''Примечание:''' чтобы перевести радианы в градусы, умножьте значение в радианах на <code>180 / Math.PI</code>.''
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Atan(1) * 180 / Math.PI = 45
</syntaxhighlight>
 
== Ceiling ==
{|class="wikitable" style="background-color: #fff;"
|-
|-
|Acos
! Функция !! Параметры !! Возвращаемое значение
|Возвращает Арккосинус числа
|<code>Acos(<Number>)</code><br><code>=Acos(.5); =Acos(Fields!Angle.Value)</code>
|-
|-
|Asin
 
|Возвращает Арксинус числа
| <code>Ceiling</code> || <code>double d</code> || <code>double</code>
|<code>Asin(<Number>)</code><br><code>=Asin(.5); =Asin(Fields!Angle.Value)</code>
|-
|-
|Atan
 
|Возвращает Арктангенс числа
| <code>Ceiling</code> || <code>decimal d</code> || <code>decimal</code>
|<code>Atan(<Number>)</code><br><code>=Atan(.5); =Atan(Fields!Angle.Value)</code>
|}
 
Возвращает наименьшее целое значение, большее и равное <code>d</code>.
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Ceiling(1.7) = 2
</syntaxhighlight>
 
== Cos ==
{|class="wikitable" style="background-color: #fff;"
|-
|-
|Atan2
! Функция !! Параметры !! Возвращаемое значение
|Возвращает Арктангенс двух чисел
|<code>Atan2(<Number1>,<Number2>)</code><br><code>=Atan2(3,7);</code><br><code>=Atan2(Fields!CoordinateY.Value,Fields!CoordinateX.Value)</code>
|-
|-
|BigMul
 
|Возвращает во сколько раз число1 отличается от числа2
| <code>Cos</code> || <code>double d</code> || <code>double</code>
|<code>BigMul(<Number1>,<Number2>)</code><br><code>=BigMul(4294967295,-2147483647);</code><br><code>=BigMul(Fields!Int32Value.Value, Fields!Int32Value.Value)</code>
|}
 
Возвращает косинус значения <code>d</code>. Значение <code>d</code> должно быть в радианах.
 
'''''Примечание:''' чтобы перевести градусы в радианы, умножьте значение в градусах на <code>Math.PI / 180</code>.''
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Cos(0) = 1
</syntaxhighlight>
 
== Exp ==
{|class="wikitable" style="background-color: #fff;"
|-
! Функция !! Параметры !! Возвращаемое значение
|-
 
| <code>Exp</code> || <code>double d</code> || <code>double</code>
|}
 
Возвращает число <code>e (2.71828)</code>, возведенное в степень <code>d</code>.
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Exp(1) = 2.71828
</syntaxhighlight>
 
== Floor ==
{|class="wikitable" style="background-color: #fff;"
|-
|-
|Ceiling
! Функция !! Параметры !! Возвращаемое значение
|Возвращает остаток от целого числа (НЕ округление!)
|<code>Ceiling(<Number>)</code><br><code>=Ceiling(98.4331); =Ceiling(Fields!AnnualSales.Value /6)</code>
|-
|-
|Cos
 
|Возвращает Косинус числа
| <code>Floor</code> || <code>double d</code> || <code>double</code>
|<code>Cos(<Number>)</code><br><code>=Cos(60)</code>
|-
|-
|Cosh
 
|Возвращает Косинус угла
| <code>Floor</code> || <code>decimal d</code> || <code>decimal</code>
|<code>Cosh(<Number>)</code><br><code>=Cosh(60)</code>
|}
 
Возвращает наибольшее целое значение, меньшее и равное <code>d</code>.
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Floor(1.7) = 1
</syntaxhighlight>
 
== Log ==
{|class="wikitable" style="background-color: #fff;"
|-
|-
|E
! Функция !! Параметры !! Возвращаемое значение
|E=2.71828182845905
|<code>E</code><br><code>=E*2</code>
|-
|-
|Exp
 
|Возвращает число в степени экспоненты
| <code>Log</code> || <code>double d</code> || <code>double</code>
|<code>Exp(<Number>)</code><br><code>=Exp(3); =Exp(Fields!IntegerCounter.Value)</code>
|}
 
Возвращает натуральный логарифм значения <code>d</code>.
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Log(2.71828) = 1
</syntaxhighlight>
 
== Maximum ==
{|class="wikitable" style="background-color: #fff;"
|-
|-
|Fix
! Функция !! Параметры !! Возвращаемое значение
|Возвращает целую часть числа (НЕ округление!)
|<code>Fix(<Number>)</code><br><code>=Fix(-7.15); =Fix(Fields!AnnualSales.Value /-5)</code>
|-
|-
|Floor
 
|Возвращает округленное число
| <code>Maximum</code> || <code>int val1, int val2</code> || <code>int</code>
|<code>Floor(<Number>)</code><br><code>=Floor(4.67); =Floor(Fields!AnnualSales.Value/ 12)</code>
|-
|-
|IEEERemainder
 
|Возвращает число в формате IEEE
| <code>Maximum</code> || <code>long val1, long val2</code> || <code>long</code>
|<code>IEEERemainder(<Number1>,<Number2>)</code><br><code>=IEEERemainder(9,8)</code>
|-
|-
|Log
 
|Возвращает логарифм числа
| <code>Maximum</code> || <code>float val1, float val2</code> || <code>float</code>
|<code>Log(<Number>)</code><br><code>=Log(20.5);</code><br><code>=Log(Fields!NumberValue.Value)</code>
|-
|-
|Log10
 
|Возвращает десятичный логарифм числа
| <code>Maximum</code> || <code>double val1, double val2</code> || <code>double</code>
|<code>Log10(<Number>)</code><br><code>=Log10(20.5); =Log10(Fields!NumberValue.Value)</code>
|-
|-
|Max
 
|Возвращает максимально значение выражения
| <code>Maximum</code> || <code>decimal val1, decimal val2</code> || <code>decimal</code>
|<code>Max(<Value>)</code><br><code>=Max(Fields!OrderTotal.Value)</code>
|}
 
Возвращает максимальное из значений <code>val1</code>, <code>val2</code>.
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Maximum(1,2) = 2
</syntaxhighlight>
 
== Minimum ==
{|class="wikitable" style="background-color: #fff;"
|-
|-
|Min
! Функция !! Параметры !! Возвращаемое значение
|Возвращает минимальное значение выражения
|<code>Min(<Value>)</code><br><code>=Min(Fields!OrderTotal.Value)</code>
|-
|-
|PI
 
|Число Пифагора = 3.14159265358979.
| <code>Minimum</code> || <code>int val1, int val2</code> || <code>int</code>
|<code>PI</code><br><code>=2 * PI * Fields!Radius.Value</code>
|-
|-
|Pow
 
|Возвращает число, возведенное в степени числа2 с основанием числа1
| <code>Minimum</code> || <code>long val1, long val2</code> || <code>long</code>
|<code>Pow(<Number1,<Number2>)</code><br><code>=Pow(Fields!Quantity.Value, 2)</code>
|-
|-
|Round
 
|Возвращает округленное число до количества знаков числа1
| <code>Minimum</code> || <code>float val1, float val2</code> || <code>float</code>
|<code>Round(<Number>)</code><br><code>=Round(12.456); =Round(Fields!AnnualSales.Value / 12.3)</code>
|-
|-
|Sign
 
|Возвращает знак, если числе отрицательное
| <code>Minimum</code> || <code>double val1, double val2</code> || <code>double</code>
|<code>Sign(<Number>)</code><br><code>=Sign(Fields!AnnualSales.Value-60000)</code>
|-
|-
|Sin
 
|Возвращает синус числа
| <code>Minimum</code> || <code>decimal val1, decimal val2</code> || <code>decimal</code>
|<code>Sin(<Number>)</code><br><code>=Sin(60)</code>
|}
 
Возвращает минимальное из значений <code>val1</code>, <code>val2</code>.
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Minimum(1,2) = 1
</syntaxhighlight>
 
== Round ==
{|class="wikitable" style="background-color: #fff;"
|-
|-
|Sinh
! Функция !! Параметры !! Возвращаемое значение
|Возвращает синус угла
|<code>Sinh(<Number>)</code><br><code>=Sinh(60)</code>
|-
|-
|Sqrt
 
|Возвращает квадратный корень числа
| <code>Round</code> || <code>double d</code> || <code>double</code>
|<code>Sqrt(<Number>)</code><br><code>=Sqrt(121)</code>
|-
|-
|Tan
 
|Возвращает тангенс числа
| <code>Round</code> || <code>decimal d</code> || <code>decimal</code>
|<code>Tan(<Number>)</code><br><code>=Tan(60)</code>
|-
|-
|Tanh
 
|Возвращает тангенс угла
| <code>Round</code> || <code>double d, int digits</code> || <code>double</code>
|<code>Tanh(<Number>)</code><br><code>=Tanh(60)</code>
|-
|-
| <code>Round</code> || <code>decimal d, int digits</code> || <code>decimal</code>
|}
|}


==Функции округления==
Округляет значение <code>d</code> до ближайшего целого или до числа разрядов, указанного в параметре <code>digits</code>.
'''Функции округления''' - служат для управления точностью числовых данных.  


Позволяют приводить дробные значения к целым числам или ограничивать количество знаков после запятой в соответствии с заданными правилами.
<div style="background-color: #e7f3ff; border-left: 5px solid #2196f3; padding: 15px; margin: 10px 0;">
'''Примечание'''


Выбор функции зависит:  
'''Функция Round''' по умолчанию использует ''«банковское» округление'':
*от требуемого направления округления (всегда в большую, всегда в меньшую или к ближайшему значению),  
*для чисел, не заканчивающихся ровно на <code>,5</code>, правила стандартные: <code>2,49</code> округляется до <code>2</code>;
*от специфики обработки срединных значений (0,5), для которых могут применяться специфические алгоритмы округления (например, функция ''Round'').
*для чисел, заканчивающихся на <code>,5</code>:
::*<code>0,5</code> округляется до <code>0</code>
::*<code>1,5</code> округляется до <code>2</code>
::*<code>2,5</code> округляется до <code>2</code>
::*<code>3,5</code> округляется до <code>4</code>
::*<code>4,5</code> округляется до <code>4</code>
::*<code>5,5</code> округляется до <code>6</code>
::*<code>6,5</code> округляется до <code>6</code>
::*<code>7,5</code> округляется до <code>8</code>
::*<code>8,5</code> округляется до <code>8</code>
::*<code>9,5</code> округляется до <code>10</code>
</div>


Максимально соответствующей математическим правилам округления является стандартная функция Round с использованием третьего аргумента (вместо двух аргументов по умолчанию):
'''Примеры:'''
<syntaxhighlight lang="csharp">
Round(1.47) = 1
Round(1.478, 2) = 1.48
</syntaxhighlight>


{|class="wikitable" style="margin:auto; background-color: #fff;"  
== Sin ==
{|class="wikitable" style="background-color: #fff;"  
|-
|-
!Функция
! Функция !! Параметры !! Возвращаемое значение
!Описание
!Применение
!Исходное значение
!После применения функции
|-
|-
|Round
 
|Округляет число до указанного количества десятичных знаков (если количество знаков не указано, округляет до ближайшего целого) *
| <code>Sin</code> || <code>double d</code> || <code>double</code>
|<code>=Round(<ИмяПоля >, <КоличествоЗнаков>,  )</code>
|}
|align="right"|3.1425
 
|align="right"|3,143
Возвращает синус значения <code>d</code>. Значение <code>d</code> должно быть указано в радианах.
 
'''''Примечание:''' чтобы перевести градусы в радианы, умножьте значение в градусах на Math.PI / 180.''
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Sin(90 * Math.PI / 180) = 1
</syntaxhighlight>
 
== Sqrt ==
{|class="wikitable" style="background-color: #fff;"
|-
! Функция !! Параметры !! Возвращаемое значение
|-
|-
| <code>Sqrt</code> || <code>double d</code> || <code>double</code>
|}
|}


Возвращает квадратный корень от значения <code>d</code>.


'''Пример:'''
<syntaxhighlight lang="csharp">
Sqrt(4) = 2
</syntaxhighlight>


{|class="wikitable" style="margin:auto; background-color: #fff;"  
== Tan ==
{|class="wikitable" style="background-color: #fff;"  
|-
|-
!Функция
! Функция !! Параметры !! Возвращаемое значение
!Описание
!Применение
!Исходное значение
!После применения функции
|-
|-
|Ceiling
 
|Округляет число до ближайшего целого в большую сторону
| <code>Tan</code> || <code>double d</code> || <code>double</code>
|<code>=Ceiling(<ИмяПоля>)</code>
|}
|align="right"|3.14159
 
|align="right"|4
Возвращает тангенс значения <code>d</code>. Значение <code>d</code> должно быть указано в радианах.
 
'''''Примечание:''' чтобы перевести градусы в радианы, умножьте значение в градусах на Math.PI / 180.''
 
'''Пример:'''
<syntaxhighlight lang="csharp">
Tan(45 * Math.PI / 180) = 1
</syntaxhighlight>
 
== Truncate ==
{|class="wikitable" style="background-color: #fff;"  
|-
|-
|Floor
! Функция !! Параметры !! Возвращаемое значение
|Округляет число до ближайшего целого в меньшую сторону
|<code>=Floor(<ИмяПоля >)</code>
|align="right"|3.14159
|align="right"|3
|-
|-
|Round
 
|Округляет число до указанного количества десятичных знаков (если количество знаков не указано, округляет до ближайшего целого) *
| <code>Truncate</code> || <code>double d</code> || <code>double</code>
|<code>=Round(<ИмяПоля >, <КоличествоЗнаков>)</code>
|align="right"|3.14159
|align="right"|3,142
|-
|-
| <code>Truncate</code> || <code>decimal d</code> || <code>decimal</code>
|}
|}


'''Функция Round''' по умолчанию использует ''«банковское» округление'' – для чисел, заканчивающихся на <code>,5</code>:  
Возвращает целую часть значения <code>d</code>.
*<code>0,5</code> округляется до <code>0</code>
 
*<code>1,5</code> округляется до <code>2</code>
'''Пример:'''
*<code>2,5</code> округляется до <code>2</code>
<syntaxhighlight lang="csharp">
*<code>3,5</code> округляется до <code>4</code>
Truncate(1.7) = 1
*<code>4,5</code> округляется до <code>4</code>
</syntaxhighlight>
*<code>5,5</code> округляется до <code>6</code>
*<code>6,5</code> округляется до <code>6</code>
*<code>7,5</code> округляется до <code>8</code>
*<code>8,5</code> округляется до <code>8</code>
*<code>9,5</code> округляется до <code>10</code>
Для чисел, не заканчивающихся ровно на <code>,5</code>, правила стандартные: 2,49 округляется до 2.

Текущая версия от 02:44, 19 октября 2026

Abs

Функция Параметры Возвращаемое значение
Abs sbyte value sbyte
Abs short value short
Abs int value int
Abs long value long
Abs float value float
Abs double value double
Abs decimal value decimal

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

Пример:

Abs(-2.2) = 2.2

Acos

Функция Параметры Возвращаемое значение
Acos double d double

Возвращает угол (в радианах), который соответствует косинусу d. Значение d должно быть в диапазоне от -1 до 1.

Примечание: чтобы перевести радианы в градусы, умножьте значение в радианах на 180 / Math.PI.

Пример:

Acos(0) * 180 / Math.PI = 90

Asin

Функция Параметры Возвращаемое значение
Asin double d double

Возвращает угол (в радианах), который соответствует синусу d. Значение d должно быть в диапазоне от -1 до 1.

Примечание: чтобы перевести радианы в градусы, умножьте значение в радианах на 180 / Math.PI.

Пример:

Asin(0) = 0

Atan

Функция Параметры Возвращаемое значение
Atan double d double

Возвращает угол (в радианах), который соответствует тангенсу d.

Примечание: чтобы перевести радианы в градусы, умножьте значение в радианах на 180 / Math.PI.

Пример:

Atan(1) * 180 / Math.PI = 45

Ceiling

Функция Параметры Возвращаемое значение
Ceiling double d double
Ceiling decimal d decimal

Возвращает наименьшее целое значение, большее и равное d.

Пример:

Ceiling(1.7) = 2

Cos

Функция Параметры Возвращаемое значение
Cos double d double

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

Примечание: чтобы перевести градусы в радианы, умножьте значение в градусах на Math.PI / 180.

Пример:

Cos(0) = 1

Exp

Функция Параметры Возвращаемое значение
Exp double d double

Возвращает число e (2.71828), возведенное в степень d.

Пример:

Exp(1) = 2.71828

Floor

Функция Параметры Возвращаемое значение
Floor double d double
Floor decimal d decimal

Возвращает наибольшее целое значение, меньшее и равное d.

Пример:

Floor(1.7) = 1

Log

Функция Параметры Возвращаемое значение
Log double d double

Возвращает натуральный логарифм значения d.

Пример:

Log(2.71828) = 1

Maximum

Функция Параметры Возвращаемое значение
Maximum int val1, int val2 int
Maximum long val1, long val2 long
Maximum float val1, float val2 float
Maximum double val1, double val2 double
Maximum decimal val1, decimal val2 decimal

Возвращает максимальное из значений val1, val2.

Пример:

Maximum(1,2) = 2

Minimum

Функция Параметры Возвращаемое значение
Minimum int val1, int val2 int
Minimum long val1, long val2 long
Minimum float val1, float val2 float
Minimum double val1, double val2 double
Minimum decimal val1, decimal val2 decimal

Возвращает минимальное из значений val1, val2.

Пример:

Minimum(1,2) = 1

Round

Функция Параметры Возвращаемое значение
Round double d double
Round decimal d decimal
Round double d, int digits double
Round decimal d, int digits decimal

Округляет значение d до ближайшего целого или до числа разрядов, указанного в параметре digits.

Примечание

Функция Round по умолчанию использует «банковское» округление:

  • для чисел, не заканчивающихся ровно на ,5, правила стандартные: 2,49 округляется до 2;
  • для чисел, заканчивающихся на ,5:
  • 0,5 округляется до 0
  • 1,5 округляется до 2
  • 2,5 округляется до 2
  • 3,5 округляется до 4
  • 4,5 округляется до 4
  • 5,5 округляется до 6
  • 6,5 округляется до 6
  • 7,5 округляется до 8
  • 8,5 округляется до 8
  • 9,5 округляется до 10

Примеры:

Round(1.47) = 1
Round(1.478, 2) = 1.48

Sin

Функция Параметры Возвращаемое значение
Sin double d double

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

Примечание: чтобы перевести градусы в радианы, умножьте значение в градусах на Math.PI / 180.

Пример:

Sin(90 * Math.PI / 180) = 1

Sqrt

Функция Параметры Возвращаемое значение
Sqrt double d double

Возвращает квадратный корень от значения d.

Пример:

Sqrt(4) = 2

Tan

Функция Параметры Возвращаемое значение
Tan double d double

Возвращает тангенс значения d. Значение d должно быть указано в радианах.

Примечание: чтобы перевести градусы в радианы, умножьте значение в градусах на Math.PI / 180.

Пример:

Tan(45 * Math.PI / 180) = 1

Truncate

Функция Параметры Возвращаемое значение
Truncate double d double
Truncate decimal d decimal

Возвращает целую часть значения d.

Пример:

Truncate(1.7) = 1