Veritabanımdaki float bir alana küsüratı yuvarlatarak son iki rakamını alıp kaydetmesini istiyorum şöyle bir şey denedim
Kod: Tümünü seç
function RoundToNearest(AValue: Extended; ADigit: Integer): Extended;
var
i, f, n: Extended;
begin
i := Int(AValue);
f := Frac(AValue);
if (f = 0) then
Result := AValue
else
begin
f := f * Power(10, ADigit);
i := Int(f);
if ((i + 1) - f) < (f - i) then
n := i + 1
else
n := i;
if n = Power(10, ADigit) then
Result := Int(AValue) + 1
else
Result := Int(AValue) + (n / Power(10, ADigit));
end;
end;
mesela ben bunu string olarak göstertiyorum = 13,67 gibi
ama veritabanına kaydolunca 13,6777777777777 diye gidiyor.
bunu nasıl düzeltebilirim .
Teşekkürler.