¿Cómo redondear un real?
Artículo por Club Developers · 31 diciembre 2005
5273 vistas
Para redondear un real devemos usar la función SimpleRoundTo de la unir Math.
Ejemplo:
Si esta función no está disponible en vuestra versión de Delphi podéis usar esta función:
Ejemplos de uso:
Obteniendo:
12
13,6
0,1
0,144
2
1,5
1,54
1,543
1,5435
Ejemplo:
delphi
showMessage(floatToStr(SimpleRoundTo(1.235,-2))); // Mostrará 1.24
Si esta función no está disponible en vuestra versión de Delphi podéis usar esta función:
delphi
uses Math; function Redondea(numero : extended ; nbDecim : integer) : extended; var p10 : extended; begin { 2 siendo el caso más frecuente, o el trato directo } if (nbDecim = 2) then result := round(numero * 100) / 100 else begin p10 := Power(10, nbDecim); result := round(numero * p10) / p10; end; end;
Ejemplos de uso:
delphi
memo1.Lines.Add(FloatToStr(Redondea(12,2))); memo1.Lines.Add(FloatToStr(Redondea(13.59,1))); memo1.Lines.Add(FloatToStr(Redondea(0.1,5))); memo1.Lines.Add(FloatToStr(Redondea(0.14444444,3))); memo1.Lines.Add(FloatToStr(Redondea(1.5,0))); memo1.Lines.Add(FloatToStr(Redondea(1.54345678,1))); memo1.Lines.Add(FloatToStr(Redondea(1.54345678,2))); memo1.Lines.Add(FloatToStr(Redondea(1.54345678,3))); memo1.Lines.Add(FloatToStr(Redondea(1.54345678,4)));
Obteniendo:
12
13,6
0,1
0,144
2
1,5
1,54
1,543
1,5435