Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-05-2011
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 18
gdlrinfo Va por buen camino
Suma de datos sin eliminar ceros

Hola amigos tengo el siguiente problema estoy haciendo un programa de pagos el cual exigen que los numeros esten dispuestos solo de una manera esta es 8 enteros y dos decimales obligatorios mi problema es el siguiente el numero seria asi 22.123.123,00 el problema que tengo es que al sumar por ejemplo 11.111.111,00 + 11.111.111,90 me quita el cero del decimal es decir me deja 22.222.222,9 y necesito que me deje el cero por la estructura que lleva el reporte alguna idea ? desde ya muchas gracias y espero su respuestas gracias
Responder Con Cita
  #2  
Antiguo 06-05-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.062
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Explicas poca cosa, pero lo normal es que pongas una máscara apropiada, algo así como: '#,##0.00'
Responder Con Cita
  #3  
Antiguo 06-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
tampoco indicas en que componente ira la suma si usaras un tEdit o un Label

si pusieras mas datos alguien podria darte una mano
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 09-05-2011
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 18
gdlrinfo Va por buen camino
Hola nuevamente

Que tal amigos disculpen si no me exprese bien los datos se muestran en un label nose que otro dato necesitan yo ya quise usar ese tipo de mascara que me comentaban antes pero no me funciono gracias y espero su respuesta
Responder Con Cita
  #5  
Antiguo 09-05-2011
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 18
gdlrinfo Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Explicas poca cosa, pero lo normal es que pongas una máscara apropiada, algo así como: '#,##0.00'
Que tal Casimiro en verdad nose que mas necesitas saber quiza me exprese mal lo que yo quiero es que al sumarse los dos numero no me quite el cero del decimal pongo un ejemplo para que sea mas practico y desde ya muchas gracias
Código Delphi [-]
function StrToFloat_Universal( pText : string ): Extended; const    EUROPEAN_ST = ',';
 AMERICAN_ST = '.'; var   lformatSettings : TFormatSettings;
 lFinalValue     : string;
 //lAmStDecimalPos : integer;
 lIndx           : Byte;
 lIsAmerican     : Boolean;
 lIsEuropean     : Boolean;
 begin   lIsAmerican := False;
    lIsEuropean := False;
     for lIndx := Length( pText ) - 1 downto 0 do
     begin
     if ( pText[ lIndx ] = AMERICAN_ST ) then
     begin
     lIsAmerican := True;
     pText := StringReplace( pText, ',', '', [ rfIgnoreCase, rfReplaceAll ]);
     //get rid of thousand incidental separators
      Break;
      end;
      if ( pText[ lIndx ] = EUROPEAN_ST ) then
      begin
      lIsEuropean := True;
      pText := StringReplace( pText, '.', '', [ rfIgnoreCase, rfReplaceAll ]);  //get rid of thousand incidental separators
      Break;     end;   end;   GetLocaleFormatSettings( LOCALE_SYSTEM_DEFAULT, lformatSettings );
      if ( lformatSettings.DecimalSeparator = EUROPEAN_ST ) then
      begin
      if lIsAmerican then
      begin
      lFinalValue := StringReplace( pText, '.', ',', [ rfIgnoreCase, rfReplaceAll ] );
      end;
      end;
      if ( lformatSettings.DecimalSeparator = AMERICAN_ST ) then
      begin
      if lIsEuropean then
      begin
      lFinalValue := StringReplace( pText, ',', '.', [ rfIgnoreCase, rfReplaceAll ] );
      end;
      end;
      pText  := lFinalValue;   Result := StrToFloat( pText, lformatSettings );
      end;
procedure TForm1.Button1Click(Sender: TObject);
var
N1:Real;
Begin
N1:= StrToFloat_Universal (Edit1.Text);
N1:= N1 + StrToFloat_Universal( Edit2.text);
Label1.Caption:= FloatToStr(N1);
end;
end.

Aqui uso esa funcion porque es la unica que me permitia sumar dos numeros del tipo 00,000,000.00 Gracias
Responder Con Cita
  #6  
Antiguo 09-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
var a :Real;
     b :String;
begin
   b := FloatToStr(StrToFloat(Edit1.Text) + StrToFloat(Edit2.Text));
   a:= StrToFloat(b);
   Label1.Caption := FormatFloat('###.00', a);
end;
Saludos
__________________
Siempre Novato
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Suma de datos en ado gdlrinfo Conexión con bases de datos 5 08-03-2011 17:31:48
Suma de datos Float error gdlrinfo Varios 4 08-03-2011 17:29:34
Mostrar Ceros En Consulta Si No Encuentra Los Datos ingabraham SQL 5 18-01-2009 21:18:57
Suma de Datos de Columna en paradox gersongelabert Tablas planas 2 14-08-2005 06:20:37
suma de datos tipo float marys Impresión 1 05-06-2003 20:08:00


La franja horaria es GMT +2. Ahora son las 16:10:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi