Это баг или так и было задумано в MQL?

 
 
double X=0.03;
double Y=0.01;
double Z=0.01;
int A;
 
int start()
  {
 
A=(X-Y)/Z+1;
Print(A);
Print((X-Y)/Z+1);
 
   return(0);
  }
Печатаются разные значения... Это фишка MQL или баг ?
 
Loknar:
  double X=0.03; double Y=0.01; double Z=0.01; int A;   int start()   {   A=(X-Y)/Z+1; Print(A); Print((X-Y)/Z+1);      return(0);   }

Печатаются разные значения... Это фишка MQL или баг ?
 В первом Print выводится значение int (неявное приведение)
во втором чистый, не подпорченный double. Во всех языках именно так и получается. Так что это не баг, а не знание языка. Пардон
 
Sergey_Murzinov:
В первом Print выводится значение int (неявное приведение)
во втором чистый, не подпорченный double. Во всех языках именно так и получается. Так что это не баг, а не знание языка. Пардон


Каким же образом в языке можно поделить 0.03 на 0.01, прибавить 1 и получить как и водится в математике - 3 ?

Заранее благодарен

 
Loknar:

Каким же образом в языке можно поделить 0.03 на 0.01, прибавить 1 и получить как и водится в математике - 3 ?

Заранее благодарен

Воспользоваться поиском? Мне почему-то кажется, что ваш вопрос не так чтобы совсем уникальный - возможно кто-то когда-то уже спрашивал нечто похожее и даже получил исчерпывающий ответ. ..
 
Loknar:

Каким же образом в языке можно поделить 0.03 на 0.01, прибавить 1 и получить как и водится в математике - 3 ?

Прошу прощения, невнимательно прочитал исходный вопрос.
Никаким образом 3 получить нельзя.
 
https://forum.mql4.com/ru/9376
 
Loknar:
Sergey_Murzinov:

В первом Print выводится значение int (неявное приведение)

во втором чистый, не подпорченный double. Во всех языках именно
так и получается. Так что это не баг, а не знание языка. Пардон






Каким же образом в языке можно поделить 0.03 на 0.01, прибавить 1
и получить как и водится в математике - 3 ?



Заранее благодарен


https://docs.mql4.com/ru/basis/types/casting

и сразу все встанет на свои места. Это называется читайте мануалы!
 
Loknar писал (а):
Печатаются разные значения... Это фишка MQL или баг ?

Посмотрите здесь Учебник по MQL4 Основы языка Операции и выражения . В конце параграфа есть подразделы Особенности вычисления значений целых чисел и Порядок вычисления выражений. Там на примере показано почему так получается.