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

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

Материал из Химсофт Вики
Нет описания правки
Нет описания правки
 
(не показаны 34 промежуточные версии этого же участника)
Строка 1: Строка 1:
__NOTOC__
= Математические функции =
== Abs ==
== Abs ==
{| class="wikitable sortable"
{|class="wikitable" style="background-color: #fff;"  
|-
|-
! Функция !! Параметры !! Возвращаемое значение
! Функция !! Параметры !! Возвращаемое значение
Строка 28: Строка 25:
| <code>Abs</code> || <code>decimal value</code> || <code>decimal</code>
| <code>Abs</code> || <code>decimal value</code> || <code>decimal</code>
|}
|}
 
'''
Возвращает абсолютную величину значения <code>value</code>.
Возвращает абсолютную величину значения <code>value</code>.


Пример:
'''Пример:'''
<syntaxhighlight lang="csharp">
<syntaxhighlight lang="csharp">
Abs(-2.2) = 2.2
Abs(-2.2) = 2.2
Строка 37: Строка 34:


== Acos ==
== Acos ==
{| class="wikitable sortable"
{|class="wikitable" style="background-color: #fff;"  
|-
|-
! Функция !! Параметры !! Возвращаемое значение
! Функция !! Параметры !! Возвращаемое значение
Строка 45: Строка 42:
|}
|}


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


{{Примечание|Чтобы перевести радианы в градусы, умножьте значение в радианах на <code>180 / Math.PI</code>.}}
'''''Примечание:''' чтобы перевести радианы в градусы, умножьте значение в радианах на <code>180 / Math.PI</code>.''


Пример:
'''Пример:'''
<syntaxhighlight lang="csharp">
<syntaxhighlight lang="csharp">
Acos(0) * 180 / Math.PI = 90
Acos(0) * 180 / Math.PI = 90
Строка 55: Строка 52:


== Asin ==
== Asin ==
{| class="wikitable sortable"
{|class="wikitable" style="background-color: #fff;"  
|-
|-
! Функция !! Параметры !! Возвращаемое значение
! Функция !! Параметры !! Возвращаемое значение
Строка 63: Строка 60:
|}
|}


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


{{Примечание|Чтобы перевести радианы в градусы, умножьте значение в радианах на <code>180 / Math.PI</code>.}}
'''''Примечание:''' чтобы перевести радианы в градусы, умножьте значение в радианах на <code>180 / Math.PI</code>.''
</div>


Пример:
'''Пример:'''
<syntaxhighlight lang="csharp">
<syntaxhighlight lang="csharp">
Asin(0) = 0
Asin(0) = 0
Строка 73: Строка 71:


== Atan ==
== Atan ==
{| class="wikitable sortable"
{|class="wikitable" style="background-color: #fff;"  
|-
|-
! Функция !! Параметры !! Возвращаемое значение
! Функция !! Параметры !! Возвращаемое значение
Строка 83: Строка 81:
Возвращает угол (в радианах), который соответствует тангенсу <code>d</code>.
Возвращает угол (в радианах), который соответствует тангенсу <code>d</code>.


{{Примечание|Чтобы перевести радианы в градусы, умножьте значение в радианах на <code>180 / Math.PI</code>.}}
'''''Примечание:''' чтобы перевести радианы в градусы, умножьте значение в радианах на <code>180 / Math.PI</code>.''


Пример:
'''Пример:'''
<syntaxhighlight lang="csharp">
<syntaxhighlight lang="csharp">
Atan(1) * 180 / Math.PI = 45
Atan(1) * 180 / Math.PI = 45
Строка 91: Строка 89:


== Ceiling ==
== Ceiling ==
{| class="wikitable sortable"
{|class="wikitable" style="background-color: #fff;"  
|-
|-
! Функция !! Параметры !! Возвращаемое значение
! Функция !! Параметры !! Возвращаемое значение
Строка 104: Строка 102:
Возвращает наименьшее целое значение, большее и равное <code>d</code>.
Возвращает наименьшее целое значение, большее и равное <code>d</code>.


Пример:
'''Пример:'''
<syntaxhighlight lang="csharp">
<syntaxhighlight lang="csharp">
Ceiling(1.7) = 2
Ceiling(1.7) = 2
Строка 110: Строка 108:


== Cos ==
== Cos ==
{| class="wikitable sortable"
{|class="wikitable" style="background-color: #fff;"  
|-
|-
! Функция !! Параметры !! Возвращаемое значение
! Функция !! Параметры !! Возвращаемое значение
Строка 120: Строка 118:
Возвращает косинус значения <code>d</code>. Значение <code>d</code> должно быть в радианах.
Возвращает косинус значения <code>d</code>. Значение <code>d</code> должно быть в радианах.


{{Примечание|Чтобы перевести градусы в радианы, умножьте значение в градусах на <code>Math.PI / 180</code>.}}
'''''Примечание:''' чтобы перевести градусы в радианы, умножьте значение в градусах на <code>Math.PI / 180</code>.''


Пример:
'''Пример:'''
<syntaxhighlight lang="csharp">
<syntaxhighlight lang="csharp">
Cos(0) = 1
Cos(0) = 1
</syntaxhighlight>
</syntaxhighlight>


== Exp ==
{|class="wikitable" style="background-color: #fff;"
|-
! Функция !! Параметры !! Возвращаемое значение
|-
| <code>Exp</code> || <code>double d</code> || <code>double</code>
|}


<div style="background-color: #fff0f3; border-left: 5px solid #dc3545; padding: 15px; margin: 10px 0; color: #a71d2a;">
Возвращает число <code>e (2.71828)</code>, возведенное в степень <code>d</code>.
<b>Внимание!</b><br/>
Это описание - для старой версии дизайнера документов (<b><i>AR</i></b>).<br/>
В ближайшее время страница будет обновлена на описание настройки в <b><i>FastReports</i></b>.
</div>


'''Математические функции''' - обеспечивают точность и производительность расчетов.
'''Пример:'''
<syntaxhighlight lang="csharp">
Exp(1) = 2.71828
</syntaxhighlight>


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


==Функции округления==
Возвращает тангенс значения <code>d</code>. Значение <code>d</code> должно быть указано в радианах.
'''Функции округления''' - служат для управления точностью числовых данных.  


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


Выбор функции зависит:  
'''Пример:'''
*от требуемого направления округления (всегда в большую, всегда в меньшую или к ближайшему значению),
<syntaxhighlight lang="csharp">
*от специфики обработки срединных значений (0,5), для которых могут применяться специфические алгоритмы округления (например, функция ''Round'').
Tan(45 * Math.PI / 180) = 1
</syntaxhighlight>


{|class="wikitable" style="margin:auto; background-color: #fff;"  
== Truncate ==
{|class="wikitable" style="background-color: #fff;"  
|-
|-
!Функция
! Функция !! Параметры !! Возвращаемое значение
!Описание
!Применение
!Исходное значение
!После применения функции
|-
|-
|Ceiling
 
|Округляет число до ближайшего целого в большую сторону
| <code>Truncate</code> || <code>double d</code> || <code>double</code>
|<code>=Ceiling(<ИмяПоля>)</code>
|align="right"|3.14159
|align="right"|4
|-
|Floor
|Округляет число до ближайшего целого в меньшую сторону
|<code>=Floor(<ИмяПоля >)</code>
|align="right"|3.14159
|align="right"|3
|-
|Round
|Округляет число до указанного количества десятичных знаков (если количество знаков не указано, округляет до ближайшего целого) *
|<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