forked from airat77786/MQL5Book
59 lines
2.1 KiB
MQL5
59 lines
2.1 KiB
MQL5
//+------------------------------------------------------------------+
| |||
//| TypeConversion.mq5 |
| |||
//| Copyright 2021, MetaQuotes Ltd. |
| |||
//| https://www.mql5.com |
| |||
//+------------------------------------------------------------------+
| |||
| |||
#property copyright "Copyright 2021, MetaQuotes Ltd."
| |||
#property link "https://www.mql5.com"
| |||
#property version "1.00"
| |||
| |||
#define PRT(A) Print(#A, "=", (A))
| |||
| |||
//+------------------------------------------------------------------+
| |||
//| Script program start function |
| |||
//+------------------------------------------------------------------+
| |||
void OnStart()
| |||
{
| |||
short s = 10;
| |||
long n = 10;
| |||
int p = s * n + 1.0;// possible loss of data due to type conversion
| |||
| |||
double d = 1.0;
| |||
int x = 1.0 / 10; // truncation of constant value
| |||
int y = d / 10; // possible loss of data due to type conversion
| |||
d = LONG_MAX; // truncation of constant value
| |||
| |||
long m1 = 1000000000;
| |||
long m2 = m1 * m1; // ok: m2 = 1000000000000000000
| |||
long m3 = 1000000000 * 1000000000; // integral constant overflow
| |||
// m3 = -1486618624
| |||
PRT(m2);
| |||
PRT(m3);
| |||
| |||
d = m1 * m1; // possible loss of data due to type conversion
| |||
| |||
char c = 3000; // truncation of constant value
| |||
PRT(c); // -72
| |||
uchar uc = 3000; // truncation of constant value
| |||
PRT(uc); // 184
| |||
| |||
char c55 = 55;
| |||
char sm = c55 * c55; // ok!
| |||
PRT(sm); // 3025 -> -47
| |||
uchar um = c55 * c55; // ok!
| |||
PRT(um); // 3025 -> 209
| |||
| |||
uint u = 11;
| |||
int i = -49;
| |||
PRT(i + i); // -98
| |||
PRT(u + i); // 4294967258
| |||
| |||
double w = 100.0, v = 7.0;
| |||
float f = (float)(w / v);
| |||
p = (int)(w / v);
| |||
PRT(w / v); // 14.28571428571429
| |||
PRT((int)(w / v)); // 14
| |||
Print("Result:" + (string)(float)(w / v)); // Result:14.28571
| |||
}
| |||
//+------------------------------------------------------------------+
|