Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 09-06-2007
RicardoNavarro RicardoNavarro is offline
Registrado
 
Registrado: ago 2006
Posts: 6
Poder: 0
RicardoNavarro Va por buen camino
Numero en Expresion de Palabras

Para Delphi
Código:
Function Expresion(XNumero: Variant): String;
const
  Unidades: array[1..9] of String = ('Un ','Dos ','Tres ','Cuatro ','Cinco ','Seis ','Siete ','Ocho ','Nueve ');
  Decimos: array[0..9] of String = ('Diez ','Once ','Doce ','Trece ','Catorce ','Quince ','Dieciseis ','Diecisiete ','Dieciocho ','Diecinueve ');
  Decenas: array[1..9] of String = ('Diez ','Veinte ','Treinta ','Cuarenta ','Cincuenta ','Sesenta ','Setenta ','Ochenta ','Noventa ');
  Centenas: array[1..9] of String = ('Cien ','Doscientos ','Trescientos ','Cuatrocientos ','Quinientos ','Seiscientos ','Setecientos ','Ochocientos ','Novecientos ');
var
  cNumero: String;
  nInd, nDigito, nPos: Integer;
  LDec: Boolean;
begin
  Result := '';
  if XNumero <> Null then
    begin
      cNumero := IntToStr(XNumero);
      LDec := True;
      for nInd := 1 to Length(CNumero) do
        begin
          nDigito := StrToInt(cNumero[nInd]);
          nPos := Length(CNumero) + 1 - nInd;
          if nDigito <> 0 then
            begin
              if nPos in [3,6,9,12] then
                if nDigito = 1 then
                  if (StrToInt(cNumero[nInd+1]) = 0) and (StrToInt(cNumero[nInd+2]) = 0) then
                    Result := Result + Centenas[nDigito]
                  else
                    Result := Result + 'Ciento '
                else
                  Result := Result + Centenas[nDigito]
              else
                if nPos in [2,5,8,11] then
                  begin
                    Ldec := True;
                    if nDigito = 1 then
                      begin
                        Result := Result + Decimos[StrToInt(cNumero[nInd+1])];
                        LDec := False;
                      end
                    else
                      if nDigito = 2 then
                        if (StrToInt(cNumero[nInd+1]) = 0) then
                          Result := Result + Decenas[nDigito]
                        else
                          Result := Result + 'Veinte y '
                      else
                        Result := Result + Decenas[nDigito];
                    if not(nDigito in [0,1,2]) and (StrToInt(cNumero[nInd+1]) <> 0) then
                      Result := Result + 'y ';
                  end
                else
                  if (nPos in [1,4,7,10]) and LDec then
                    if (nDigito <> 1) then
                      Result := Result + Unidades[nDigito]
                    else
                      if nPos in [1,7] then
                        Result := Result + Unidades[nDigito];
            end;
          if nPos = 4 then
            if not((StrToInt(cNumero[nInd]) = 0) and (StrToInt(cNumero[nInd-1]) = 0) and (StrToInt(cNumero[nInd-2]) = 0)) then
              Result := Result + 'Mil ';
          if nPos = 7 then
            if (nDigito = 1) and (Length(CNumero) = 7) then
              Result := Result + 'Millon '
            else
              Result := Result + 'Millones ';
          if nPos = 10 then
            Result := Result + 'Mil ';
        end;
    end;
end;
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Convertir números en letras c748a Varios 14 10-04-2015 20:52:18
Numeros y letras Caral Varios 11 28-03-2008 18:22:53
Numeros a Letras!! jmedina Varios 26 20-10-2005 20:19:42
trasformar numeros a letras NestorN Varios 1 17-09-2005 01:33:44
como validar numeros y letras ealexmp Impresión 0 29-12-2004 23:11:17


La franja horaria es GMT +2. Ahora son las 12:03:52.


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