PDA

Ver la Versión Completa : como tomo en cuenta los decimales cuando son ceros.......


LizVazquez
07-09-2007, 19:20:14
hola,
Me podrian apoyar debido a que la siguiente funcion:

cCtvs:= Format('%4.2n',[rCentavos]);
cCtvs := Copy(cCtvs,3,2);
sLetras := '( ' + sLetras + 'PESOS ' + Copy(Format('%4.2n',[rCentavos]),3,2) + ' /100 CTVOS )';

ya que no me toma en cuenta cuando los centavos son 00, cuando son 01 al 99 los toma sin problemas pero en 00 no, me podrian apoyar gracias............

cHackAll
07-09-2007, 19:43:03
Hola LizVazquez, bienvenida seas al Club...
El código que dejaste al parecer SI funciona, pero:

function IntToStr(Value: Integer; Len: Cardinal = 0; Chars: Char = '0'): string;
begin
Str(Value, Result);
while Length(Result) < Len do
Result := Chars + Result;
end;

procedure TForm1.Button1Click(Sender: TObject);
var Monto: extended;
begin
Monto := 3.00;
Caption := '( ' + IntToStr(Trunc(Monto)) + ' PESOS ' + IntToStr(Trunc(Frac(Monto) * 100), 2) + ' /100 CTVOS )';
end;

0j0: No es la "mejor" forma de hacerlo pero funciona!

LizVazquez
07-09-2007, 19:53:13
Muchas gracias por la ayuda,

LizVazquez
08-09-2007, 01:47:45
:confused::confused::confused:ayuda por favor :confused::confused::confused:

No entiendo llevo varios dias tratando de que mi variable idecimas tome en cuenta 2 00 y solo toma uno y cuando debe de ser 01 al 09 solo toma el numero y no el cero , por favor apiadense de mi y ayudenme http://www.clubdelphi.com/foros/images/icons/icon5.gif

por favor ................................
gracias

cNumero := Trim(Format('%12.00f', [Int(Numero)]));
cNumero := StringOfChar('0', 12 - Length(cNumero)) + cNumero;
iDecimas := Trunc(Frac(Numero) * 100) + 0.5);

este es el codigo que estoy utilizando y no puedo terminar