[ DART_VEJDER @ 30.08.2006. 15:41 ] @
E ovako:

Desava mi se jedna interesantna stvar:

na jednom dijalogu ima Edit za unos neke cijene. Ja zelim da mi se bez obzira na to koliko ima cifara poslije decimalnog zareza, u bazu uvijek unese broj sa dvije cifre.
Znaci: ako se unese 10, da se u bazu unsese: 10.00
ili 25.7 da se unese 25.70

Ja sam to uradio na ovaj nacin:


ADOTable1->Active=true;
ADOTable1->Insert();
ADOTable1->FieldByName("Cijena")->AsFloat=StrToFloat(FormatFloat("0.00",StrToFloat(Edit1->Text)));
ADOTable1->Post();

ali se desi da , iako ga unese sa dvije decimale, kasnije kada prikazujem cijene u nekom DBGrid-u ili Report-u uvijek se prikaze bez decimala...(Meni treba prikaz sa dvije decimale)

Dakle, sta da uradim kako bih rijesio ovaj problem??
[ itf @ 31.08.2006. 10:01 ] @
Dobro si zapisao podatak, no same DB komponente automatski odstrane "nepotrebna" decimalna mjesta. Možda najbolje bi ti bilo spremati taj podatak kao AnsiString, pa onda mora spremiti baš kako ti želiš. S obzirom da imaš podržane gotovo sve konverzije iz AnsiStringa u brojevne tipove podataka ne bi trebalo biti problema dalje pri matematičkim operacijama...
[ aleksandarpopov @ 31.08.2006. 11:57 ] @
Posto radis u Borland C++ Builderu koliko vidim, imas tamo opcije za polja (fieldove) imas DisplayFormat ili tako nesto, koliko se secam pa postavi na 0.00 ili koji ti vec format treba. Slicno radis i sa alatima za izvestaje, svaki bi trebao da ima mogucnosti da formatira polje.
Pozdrav