Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Интересуешься социальным трейдингом? Прочти соответствующую статью!
kolega
15
kolega 2006.03.24 10:12 
В попытке вычислить персентиль столкнулся с такой проблемой: в аргументе у массива должна быть переменная типа Integer, а при вычислении персентили получается значение типа Double, как преобразовать? Я пока на данный момент нашел решение через преобразование Double в String, а потом в Integer, но это как то не хорошо. Может кто подскажет другой способ?
Вот как выглядит у меня вычисление 10-ой персентили
int n;
double Array1[n], x;
ArraySort(Array1); x=Array1[StrToInteger(DoubleToStr(MathRound(n*0.1),0))];
Andrey Khatimlianskii
52198
Andrey Khatimlianskii 2006.03.24 17:52  
Насколько я помню, можно просто взять инт, и прировнять ему дабл.
Примерно так:
int x; double n = 1.1; x = n; //x теперь = 1
Vladyslav Goshkov
1958
Vladyslav Goshkov 2006.03.28 18:06  
komposter:
Насколько я помню, можно просто взять инт, и прировнять ему дабл.
Примерно так:
int x; double n = 1.1; x = n; //x теперь = 1
Вобщем смотря, что нужно. Более правильно
х = MathCeil(n);
Christo Tsvetanov
993
Christo Tsvetanov 2006.03.29 09:45  
или:

x = MathRound(n);
kolega
15
kolega 2006.03.29 11:19  
Itso:
или:

x = MathRound(n);
так я и применил MathRound, но при Array1[(MathRound(n*0.1),0)] -выдается ошибка - в аргументе требуется переменная типа Integer
MetaQuotes
Админ
24390
Renat Fatkhullin 2006.03.29 13:15  
KOlegA:
Itso:
или:

x = MathRound(n);
так я и применил MathRound, но при Array1[(MathRound(n*0.1),0)] -выдается ошибка - в аргументе требуется переменная типа Integer
Просто упростите выражение путем выноса расчета за квадратные скобки.
Zaebali_Suki2
39
Zaebali_Suki2 2012.08.14 05:18  

ПРИВЕТ ФОРУМНЫЕ ПИДОРАСЫ!!!
НЕ ПОРА ЛИ С УТРЕЦА,
ХУЙ СОСУНУТЬ ВАМ С ЛЕГОНЦА?
(ПОРА ПОРА)

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