convertir de numeros a letras
Hola
Alguien me puede ayudar necesto convertir de numero a letras
me dicen que puedo utilizar un procedimiento pero nunca lo he hecho
ejemplo
6.0 en letra ----> seis punto cero
gracias de ante mano
Alguien me puede ayudar necesto convertir de numero a letras
me dicen que puedo utilizar un procedimiento pero nunca lo he hecho
ejemplo
6.0 en letra ----> seis punto cero
gracias de ante mano
Hola, Katia.
Hice uno pero en ingles, la logica es la misma seguramente te puede ayudar:
CREATE OR REPLACE PROCEDURE cheq(n NUMBER)
as
l NUMBER:=0;
OUTPUT VARCHAR2(2000);
x VARCHAR2(2000);
x1 VARCHAR2(2000);
C1 VARCHAR2(2000);
BEGIN
IF N <=0 OR N >=999999999 THEN
DBMS_OUTPUT.PUT_LINE('INVALID AMOUNT');
else
BEGIN
if N <= 99999 THEN
output:=to_char(to_date(N,'J'),'JSP');
DBMS_OUTPUT.PUT_LINE(OUTPUT||' '||'rupees only');
else
l:=length(n);
if l = 6 then
x:=to_char(to_date(to_number(substr(n,2)),'J'),'JSP');
x1:=to_char(to_date(to_number(substr(N,1,LENGTH(N)-5)),'J'),'JSP');
DBMS_OUTPUT.PUT_LINE(x1||' '||'LAKH'||' '||x||' '||'rupees only');
elsif l = 7 then
x:=to_char(to_date(to_number(substr(n,3)),'J'),'JSP');
x1:=to_char(to_date(to_number(substr(N,1,LENGTH(N)-5)),'J'),'JSP');
DBMS_OUTPUT.PUT_LINE(x1||' '||'LAKH'||' '||x||' '||'rupees only');
elsif l =8 then
x:=to_char(to_date(to_number(substr(n,4)),'J'),'JSP');
x1:=to_char(to_date(to_number(substr(N,2,2)),'J'),'JSP');
C1:=to_char(to_date(to_number(substr(N,1,LENGTH(N)-7)),'J'),'JSP');
DBMS_OUTPUT.PUT_LINE(C1||' '||'CRORE'||' '||x1||' '||'LAKH'||' '||x||' '||'RUPEES ONLY');
else
x:=to_char(to_date(to_number(substr(n,5)),'J'),'JSP');
x1:=to_char(to_date(to_number(substr(N,3,2)),'J'),'JSP');
C1:=to_char(to_date(to_number(substr(N,1,LENGTH(N)-7)),'J'),'JSP');
DBMS_OUTPUT.PUT_LINE(C1||' '||'CRORE'||' '||x1||' '||'LAKH'||' '||x||' '||'RUPEES ONLY');
end if;
end if;
END;
end if;
END CHEQ;
Puedes provarlo de esta manera:
SQL> set serveroutput on
SQL> execute cheq(2);
TWO rupees only
PL/SQL procedure successfully completed.
Espero te sirva...
bye.
