Delphi - No redendear decimales

 
Vista:

No redendear decimales

Publicado por Mario Flores Fierro (21 intervenciones) el 10/03/2004 17:05:18
Hola Amigos del Mundo Delphi, Estoy haciendo una aplicacion para facturacion pero existe un pequeño problema ... se lo describo :

multiplico:

Var
var1,var2:Real;

Ejemplo1
var1:= 12.30 * 19.13 = 235.299
cuando haces formatfloat('#,###,###.00',var1) te devuelve 235.30
Quiero que me devuelva 235.29.

Ejemplo2
var2:= 15.30 * 15.22 Esto es igual a 232.866
cuando haces formatfloat('#,###,###.00',var2); te devuelva 232.87
Quiero que me devuelva 232.86

Alguien puede ayudarme, me super urge, ya que por estos centavitos el cliente no acepta la aplicacion .... Muchas Gracias

Mario Flores Fierro.
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:No redendear decimales

Publicado por Cuervo (262 intervenciones) el 10/03/2004 18:06:34
// a la inversa del compilador en 0.00:
formatfloat('#,###,##.00',var1-0.01)
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:No redendear decimales

Publicado por TDS (7 intervenciones) el 11/03/2004 02:11:09
Prueba a ver asi:

varSinredondeo := (trunc((float1 * float2)*100))/100 ;

Ejemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
varSinredondeo, float1, float2 : real;
begin
float1 := 15.30;
float2 := 15.22;
varSinredondeo := (trunc((float1 * float2)*100))/100 ;
ShowMessage(FloatToStr(varSinredondeo));
end;

Resultado que estoy viendo: 232,86;

Dime si te sirve.
Suerte. TDS.
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