как взять целую часть от double??

Евгений  

подскажите, вот например есть число типа double 3,158 как взять от него целую часть? которая будет служить указателем массива. В коде это примерно так:


double n1 = 3,158

int n2 = челая часть от n1

n3 = mass[n2];

Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
Nazariy Stapyak  
double n1 = 3.158;

int n2 = (int)n1; // или просто n1;

double n3 = mass[n2]; // или mass[(int)n1];
Евгений  
WWer:

благодарю, решение оказалось красивым))

а то я что только не перепробовал и в строку переводил потом в целочисленный тип, и MathCeil использовал но но все это выдавало ошибки

нашел выход это в цикле сравнивал и тем самым подбирал целочисленное число


спс

Документация по MQL5: Основы языка / Типы данных / Целые типы
Документация по MQL5: Основы языка / Типы данных / Целые типы
  • www.mql5.com
Основы языка / Типы данных / Целые типы - Документация по MQL5
[Удален]  
vgeny:

подскажите, вот например есть число типа double 3,158 как взять от него целую часть? которая будет служить указателем массива. В коде это примерно так:


double n1 = 3,158

int n2 = челая часть от n1

n3 = mass[n2];

double  MathRound(
   double  value      // округляемое значение
   );
Aleksey  
vgeny:

благодарю, решение оказалось красивым))

а то я что только не перепробовал и в строку переводил потом в целочисленный тип, и MathCeil использовал но но все это выдавало ошибки

нашел выход это в цикле сравнивал и тем самым подбирал целочисленное число


спс

  Это надо в анналы!
Евгений  
pako:

сами то пробовали свой способ??

вы же видите на выходе тип double и как теперь это может быть указателем массива?? когда указатель это int

Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
Евгений  
pronych:
  Это надо в анналы!
господа анальщики как обычно что то да и оставят из своего анала
Slava  
vgeny:
господа анальщики как обычно что то да и оставят из своего анала

Не обижайтесь на парней. Стебки они

Самый простой способ взять целую часть вещественного числа - откастить его к целочисленному типу.

double n1 = 3,158
//int n2 = челая часть от n1
int n2 = int(n1);
Документация по MQL5: Основы языка / Типы данных / Целые типы
Документация по MQL5: Основы языка / Типы данных / Целые типы
  • www.mql5.com
Основы языка / Типы данных / Целые типы - Документация по MQL5
Viktor Mossekhin  
vgeny:

подскажите, вот например есть число типа double 3,158 как взять от него целую часть? 

  https://www.mql5.com/ru/docs/basis/types/casting

"В результате преобразования значения с плавающей точкой к целому типу дробная часть числа всегда отбрасывается. Если нужно округлить число с плавающей точкой до ближайшего целого числа (что во многих случаях является более полезным), необходимо использовать функцию MathRound()."

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
Евгений  
stringo:

Не обижайтесь на парней. Стебки они

Самый простой способ взять целую часть вещественного числа - откастить его к целочисленному типу.

Да нее все ок, часть жизни, процесса  ..я понимаю..))

Спасибо всем кто поучаствовал, так сказать не прошел мимо, ответ на свой вопрос я получил и даже больше...  ))

Причина обращения: