viernes, 27 de diciembre de 2013

Convertir un importe a texto en Crystal Reports

Crystal Reports



Hola amigos, hace tiempo que no escribo nada, bien hoy me he encontrado un pequeño problemilla con crystal reports, como convertir un importe a letra, esto es muy habitual en los  recibos que se entrega a los clientes.












Os pongo el código que funciona sin ningún problema:

local stringvar sNumero := cstr({facturacab.Total});
local numbervar Entera := truncate({facturacab.Total});
local numbervar posDecimal := instrrev(sNumber, ',');
local numbervar decimales := 0;

if posDecimal > 0 then
(decimales := CDbl(right(sNumero, length(sNumero) - posDecimal)););

if decimales > 0 then
    Uppercase(ToWords(Entera, 0) + ' EUROS CON ' + ToWords(decimales, 0) + ' CENTIMOS') 
else
    Uppercase(ToWords(Entera, 0) + ' EUROS');





  1. convierte el número a cadena.
  2. coge la parte entera del número.
  3. coge la parte decimal, le indicamos que está separada por ",", si utilizais el punto decimal, en vez de coma bastará con cambiar la "," por ".".
  4. variable para conocer las posiciones decimales.
  5. Si hay posiciones decimales, calculamos el tamaño
  6. si el tamaño es mayor que 0, es que existe parte decimal, convertimos a texto la parte entera y los decimales, en caso contrario solo mostramos el texto de la parte entera.





1 comentario:

  1. tienes idea de como cambiar el tamaño de la letra de los decimales nada mas?. ejemplo $150,0000 que salga $150,oooo

    ResponderEliminar

Datos personales

avjsite

elxopet.blogspot.com.es

elxopet.blogspot.com.es
banner elxopet.blogspot.com.es

Muchas gracias a tod@s