[C++] Interbase, DECIMAL(x,y), Float

0

Witam, to mój pierwszy post na tym forum :)

Mam taki problem: aplikacja C++, baza Interbase, potrzebuję przechować wartości w postaci liczb o dwóch cyfrach w części całkowitej i jednej w ułamku, np. 10,7 , 1,2 , 3,5.

Jeśli użyję w bazie typu pola Float, to po wpisaniu 1,6 w komórce jest 1,599999 costam.

Wyglada na to ze najodpowiedniejszym typem pola byloby Decimal(2,1) (albo numeric(2,1)) - ale w jak przeslac wartosc ulamka z pola tekstowego do procedury zapamietanej ? Teraz mam tak:

SP_dodaj->ParamByName("wielkosc_zdj")->AsFloat = StrToFloat(n_wielkosc_zdj->Text);

Parametr w procedurze jest typu decimal(2,1), ale niestety nie ma ->AsDecimal.. i obcina miejsca po przecinku.

Pomocy :|

Pozdrawiam :)

nes421

0

Juz znalazlem..

W aliasie BDE trzeba uaktywnic "enable BCD" i wszystko dziala. [diabel]

nes421

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