kopiowanie integer do double

0

Witam!!

Nie moge skopiowac tablicy integer do tablicy double.

for i:=0 to n do tabdouble[i]:= tabint[i]; - wywala sie na tej linii...

tabdouble to tablica typu double, a tabint to tablica typu integer...

Ktos wie jak to zrobic?

Dziekuje za szybka odpowiedz.
Pozdro.

0

No jasne, że nie działa - nie te typy .. - zaokrąglij.. - i polecam jakiś kurs o typach albo artykuł..

0

ale co mam zaokraglic? integer nie ma dziesietnych czesci ??

0

round trunc format

0

Ojj.. racja - zrozumiałem, że chcesz zrobić odwrotnie .. - napisz co wywala .. - powinno działac :-/

0

wg mnie coś nie tak z pętlą - przekroczony zakres, albo coś takiego

0

hmmm....

wywala komunikat: 'invalid pointer operation'.

obie tablice sa dynamiczne i jednakowej dlugosci...

W sumie to chce wyznaczyc odchylenie standardowe StdDev z tabint[] ale funkcja StdDev dziala na tablicy double, wiec tworze tablice tabdouble: array of double, przypisuje jej ten sam rozmiar co tabint[] i kopiuje tabint[] do tabdouble[] lecz tu sie wywala...

A moze jest jakis prostszy sposob?

0

wygląda na przekroczony zakres. n to pewnie rozmiar (Length) tablicy, prawda? A najwyższy elemnt ma indeks Length(tab)-1, lub lepiej High(tab)

0

no rzeczywiscie !!!

Sorki. przekroczylem zakres. nie zauwazylem tego.
Dalem n-1 i juz dziala..

Sorki za problem i dzieki za odpowiedzi.

A jak sie obcina zmienna real do np. 2 miejsc po przecinku??

Pozdro.

0

zmienną typu real można formatować np. za pomocą funkcji : FloatToStrF(x,ffFixed,8,2) x-to zmienna typu real, fffixed-to jeden z rodzajów formatowania liczb zmiennoprzecinkowych, 8-zmienna zostanie wyświetlona na ośmiu miejscach(niewykorzystane miejsca zastąpione zostaną spacjami), 2-z dwoma miejscami po przecinku
przykład:
x=23,4639
aby wyświetlić x na etykiecie Label1, piszemy:
Label1.caption:=FloatToStrF(x,fffixed,6,2);
na etykiecie otrzymamy: 23,46
jeśli x=23,4689, to na etykiecie otrzymamy: 23,47
funkcja ta spełnia więc także funkcję zaokrąglania liczb

0

Polecam również zapoznanie się z funkcją Format.

0

round(float*100)/100 - zaokrąglenie do 2 miejsc po przecinku

0

A jak sie obcina zmienna real do np. 2 miejsc po przecinku??

FormatFloat (w końcu chodzi o obcięcie, a nie o zaokrąglenie :> )

0

czytaj pomoc:

type TRoundToRange = -37..37;
function RoundTo(const AValue: Double; const ADigit: TRoundToRange): Double;

1 użytkowników online, w tym zalogowanych: 0, gości: 1