Округление дробных чисел с точностью i — количество знаков после запятой, S — дробное число в строковом виде.
delphi |
function FormatData(s: String ; i: Integer ): String ; begin Result:= FloatToStr ( Round ( StrToFloat (s)* exp (i* ln ( 10 )))/( exp (i* ln ( 10 )))); end ; |
Как округлять до сотых в большую сторону
delphi |
uses Math;
// Прибавляешь 0.5 затем округляешь: function RoundMax(Num: real ; prec: integer ): real ; // До сотых соответственно будет: function RoundMax100(Num: real ): real ; |
delphi |
< **** UBPFD *********** by delphibase.endimus.com **** >> «Округление» в большую сторону Функция возвращает наименьшее число, большее чем Value, которое без остатка Зависимости: нет function Round (Value, Div >Integer ): Integer ; Round ( 10 , 3 ) // = 12 |
@Drkb::04078
delphi |
< **** UBPFD *********** by delphibase.endimus.com **** >> «Округление» в меньшую сторону Функция возвращает наибольшее число, Зависимости: нет function RoundPrev(Value, Div >Integer ): Integer ; RoundPrev( 10 , 3 ) // = 9 |
@Drkb::04079
delphi |
< **** UBPFD *********** by delphibase.endimus.com **** >> «Округление» до ближайшего кратного Функция возвращает ближайшее к Value число, которoе без Зависимости: нет function RoundTo (Value, N: Integer ): Integer ; add ecx, eax |
@Drkb::04080
Округление дробного числа до N знаков после запятой
Автор: Perceptron
delphi |
function RoundEx(chislo: double ; Precision: Integer ): string ; var ChisloInStr: string ; ChisloInCurr: currency ; begin ChisloInCurr := chislo; Str (ChisloInCurr: 20 : Precision, ChisloInStr); ChisloInStr[ Pos ( ‘.’ , ChisloInStr)] := ‘,’ ; RoundEx := Trim (ChisloInStr); end ; procedure TForm1.Button1Click(Sender: TObject ); |
Округление чисел c определенной точностью
delphi |
function Rounder( var Value: Double ; Decimals: Integer ): Double ; var j: Integer ; A: Double ; begin A := 1 ; case Decimals of 0 : A := 1 ; 1 : A := 10 ; else for j := 1 to Decimals do A := A * 10 ; end ; Result := Int ((Value * A) + 0.5 ) / A; end ; procedure TForm1.Button1Click(Sender: TObject ); |
@Drkb::04082
Взято с сайта: http://www.swissdelphicenter.ch
delphi |
< The function Round of the Delphi doesn’t work like it is usually expected. The odd numbera are rounded down and the even numbers up. x:= Round(17.5) = x = 18 x:= Round(12.5) = x = 12 function DoRound( const X: Extended ): Int64 ; procedure TForm1.Button1Click(Sender: TObject ); //This rounds every value to 0.05 steps function RoundUp(Value: Extended ): Int64 ; |