[Lazarus-es] Manejo de decimales
Francisco Javier Solis Palma
fsolispa en gmail.com
Mar Jul 5 12:17:16 CEST 2011
Hola a toda la comunidad, tengo un problema, de acuerdo a una serie de
parámetros tengo que poner o no decimales esto es
si el valor es igual a diez (10), no debe de tener valor decimal pero si
es menor a este número debe de mostrarse los decimales incluso el cero
esto es si la cantidad es nueve (9) debe mostrarse 9.0, esto debe de ser
pasando un formato a lazreport, realice el siguiente código pero me da error
el código es el siguiente
procedure TModuloDatosFrm.frReport1UserFunction(const AName: String; p1, p2,
p3: Variant; var Val: Variant);
var
sdato: double;
Entero: Double;
Fraccion: Double;
begin
If AName = 'FORMATO' Then
Begin
sdato:=frParser.Calc(P1);
if sdato = 10 then
Begin
sdato := Int(sdato);
Val:=Format('%n', [sdato]);
End
else
Begin
Entero := Int(sdato);
Val:=format('%n', [Entero]);
Fraccion := Frac(sdato);
If Fraccion <> 0 Then
Val := Val + Format('%d', [Fraccion])
Else
Val := Val + Format('%.1d', [Fraccion]);
end;
end;
end;
me da un erro que comenta que no se puede pasar el format index, como
debo dejar el formato en lazreport, al compilarlo no me da error solo
ala ejecutarlo no entiendo por que me da este error si alguien me puede
ayudar, de antemano gracias
More information about the Lazarus-es
mailing list