86 lines
2.8 KiB
Markdown
86 lines
2.8 KiB
Markdown
# MathRound
|
||||
|
|
|
|||
|
|
The function returns a value rounded off to the nearest integer of the specified numeric value.
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
double MathRound(
|
|||
|
|
double value // value to be rounded
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Parameters
|
|||
|
|
|
|||
|
|
value
|
|||
|
|
|
|||
|
|
[in] Numeric value before rounding.
|
|||
|
|
|
|||
|
|
Return Value
|
|||
|
|
|
|||
|
|
Value rounded till to the nearest integer.
|
|||
|
|
|
|||
|
|
Note
|
|||
|
|
|
|||
|
|
Instead of MathRound() you can use round().
|
|||
|
|
|
|||
|
|
Example:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
#define VALUES_TOTAL 31
|
|||
|
|
|
|||
|
|
//+------------------------------------------------------------------+
|
|||
|
|
//| Script program start function |
|
|||
|
|
//+------------------------------------------------------------------+
|
|||
|
|
void OnStart()
|
|||
|
|
{
|
|||
|
|
//--- declare variables for conversion
|
|||
|
|
double value=0; // real number for MathRound conversion
|
|||
|
|
int round_value=0; // get the result here
|
|||
|
|
//--- in a loop by the number of decimal increments of a real number
|
|||
|
|
for(int i=0; i<VALUES_TOTAL; i++)
|
|||
|
|
{
|
|||
|
|
//--- increase the real number value,
|
|||
|
|
//--- get a numeric value rounded to the nearest integer
|
|||
|
|
//--- and display control values in the journal
|
|||
|
|
value+=0.1;
|
|||
|
|
round_value=(int)MathRound(NormalizeDouble(value,1));
|
|||
|
|
PrintFormat("value: %.1f, round value: %d",value,round_value);
|
|||
|
|
/*
|
|||
|
|
result:
|
|||
|
|
value: 0.1, round value: 0
|
|||
|
|
value: 0.2, round value: 0
|
|||
|
|
value: 0.3, round value: 0
|
|||
|
|
value: 0.4, round value: 0
|
|||
|
|
value: 0.5, round value: 1
|
|||
|
|
value: 0.6, round value: 1
|
|||
|
|
value: 0.7, round value: 1
|
|||
|
|
value: 0.8, round value: 1
|
|||
|
|
value: 0.9, round value: 1
|
|||
|
|
value: 1.0, round value: 1
|
|||
|
|
value: 1.1, round value: 1
|
|||
|
|
value: 1.2, round value: 1
|
|||
|
|
value: 1.3, round value: 1
|
|||
|
|
value: 1.4, round value: 1
|
|||
|
|
value: 1.5, round value: 2
|
|||
|
|
value: 1.6, round value: 2
|
|||
|
|
value: 1.7, round value: 2
|
|||
|
|
value: 1.8, round value: 2
|
|||
|
|
value: 1.9, round value: 2
|
|||
|
|
value: 2.0, round value: 2
|
|||
|
|
value: 2.1, round value: 2
|
|||
|
|
value: 2.2, round value: 2
|
|||
|
|
value: 2.3, round value: 2
|
|||
|
|
value: 2.4, round value: 2
|
|||
|
|
value: 2.5, round value: 3
|
|||
|
|
value: 2.6, round value: 3
|
|||
|
|
value: 2.7, round value: 3
|
|||
|
|
value: 2.8, round value: 3
|
|||
|
|
value: 2.9, round value: 3
|
|||
|
|
value: 3.0, round value: 3
|
|||
|
|
value: 3.1, round value: 3
|
|||
|
|
*/
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
```
|