![]() |
|
#1
|
||||
|
||||
![]() Ума не приложу в чём дело...
Есть функция (с форума): Код:
function RoundEx(X: Double; Precision: Integer ): Double; { Precision : 1 - до целых 10 - до десятых 100 - до сотых ... } var ScaledFractPart, Temp: Double; begin ScaledFractPart := Frac(X) * Precision; Temp := Frac(ScaledFractPart); ScaledFractPart := Int(ScaledFractPart); if Temp >= 0.5 then ScaledFractPart := ScaledFractPart + 1; if Temp <= -0.5 then ScaledFractPart := ScaledFractPart - 1; RoundEx := Int(X) + ScaledFractPart / Precision; Затем... Такой вот строчкой всё зашибись как работает: Код:
RoundEx(0.123456789, 100000); А вот такой вот комбинацией в цикле в своей проге пишу: Код:
SuprD[i]:=RoundEx((0.1*Scpp[i]/D),100000); ShowMessage(FloatToStr(SuprD[i])); |