Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Евгений
438
Евгений 2013.11.18 17:48 

подскажите, вот например есть число типа 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
1754
Nazariy Stapyak 2013.11.18 18:17  
double n1 = 3.158;

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

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

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

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

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


спс

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

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


double n1 = 3,158

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

n3 = mass[n2];

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

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

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

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


спс

  Это надо в анналы!
Andrey Litvichenko
1205
Andrey Litvichenko 2013.11.19 08:01  
  Это надо в анналы!

+++
Евгений
438
Евгений 2013.11.19 19:34  
pako:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий