Как преобразовать Double в Integer?

 
В попытке вычислить персентиль столкнулся с такой проблемой: в аргументе у массива должна быть переменная типа Integer, а при вычислении персентили получается значение типа Double, как преобразовать? Я пока на данный момент нашел решение через преобразование Double в String, а потом в Integer, но это как то не хорошо. Может кто подскажет другой способ?
Вот как выглядит у меня вычисление 10-ой персентили
int n;
double Array1[n], x;
ArraySort(Array1); x=Array1[StrToInteger(DoubleToStr(MathRound(n*0.1),0))];
 
Насколько я помню, можно просто взять инт, и прировнять ему дабл.
Примерно так:
int x; double n = 1.1; x = n; //x теперь = 1
 
komposter:
Насколько я помню, можно просто взять инт, и прировнять ему дабл.
Примерно так:
int x; double n = 1.1; x = n; //x теперь = 1
Вобщем смотря, что нужно. Более правильно
х = MathCeil(n);
 
или:

x = MathRound(n);
 
Itso:
или:

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

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