Delphi - Redondeo

 
Vista:

Redondeo

Publicado por Rodolfo (1 intervención) el 13/04/2004 21:07:23
Una super consulta.

Como ven en las lineas siguientes:

vbase:=StrToFloat(Edit8.Text);
vigvt:=StrToFloat(Edit9.Text); { 19 }
vigv:=vbase*vigvt/100;
vtotal:=vbase+vigv;

Mi problema esta en el redondeo.

Digamos que cuando ingreso el monto de 88.50 a Edit8.text (base imponible), me calcula un IGV de (19%) 16.815, me visualiza 16.82

Entonces me sale asi:

Base: 88.50
IGV 16.82
Total 105.31

Como ven, el total es la suma del IGV mas la BASE. Si fuera 88.50 + 16.815, el total fuera: 105.315 y deberia redondearlo a 105.32.

Deberia salir asi:

Base: 88.50
IGV 16.82
Total 105.32

Edit10.Text:=FormatFloat('0.00',vigv);
Edit11.Text:=FormatFloat('0.00',vtotal);

Como puedo redondear a 2 decimales.

Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Redondeo

Publicado por Software Practico Libre (5 intervenciones) el 14/04/2004 15:51:53
Puedes utilizar esta funcion
function RoundD(x:Extended;D:Integer):Extended;
var
n:Extended;
begin
n:=Power(10,d);
x:=x*n;
Result:=(int(x)+Int(Frac(x)*2))/n;
end;
en la que X es el numero que quieres redondear y D es el decimal que quieres que tome en cuenta.
Acuerdate de agregar la unidad Math al uses de tu unidad.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Redondeo

Publicado por Jack (8 intervenciones) el 16/04/2004 19:16:28
Prueba tambien con esta función que ya está difinida:
SimpleRoundTo(num_real, num_decimales_a_redondear);

En tu caso como quieres redondear a dos decimales pondrías lo siguiente:

num_redondeado:=SimpleRoundTo(num_real, -2);

Con esta expresión no importa el numero de decimales que contenga el real, redondea siempre al segundo. Tambien tienes que agregar la unidad Math.

Espero que te ayude en algo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar