Number To Indian Rupee Words in Oracle Forms / Reports

Convert numbers to Indian Rupees format in Oracle Forms / Reports.

Create the below mention function in Oracle Forms / Reports and call it with passing a number parameter.

FUNCTION INR_words( p_number In number, vFrDec varchar2 Default 'Paisa Only')
RETURN varchar2 As
TYPE myArray Is Table Of varchar2(255);     
TYPE myArray2 Is Table Of varchar2(255);
l_str    myArray := myArray( '',
                   ' Thousand ', ' Lac ',
                   ' Crore ', ' Arab ',
                   ' Kharab ', ' quintillion ',
                   ' Sextillion ', ' Septillion ',
                   ' Octillion ', ' Nonillion ',
                   ' Decillion ', ' Undecillion ',
                   ' Duodecillion ' );
l_str2 myArray2 := myArray2('Rs Paisa', '$ Pany');
    l_num   varchar2(50) Default Trunc( p_number );
    l_dec   varchar2(50) Default Substr(To_Char(p_number - Trunc(p_number), '.99'),2);
    l_return varchar2(4000);
    j number := 3;
BEGIN
    For i In 1 .. l_str.Count
    LOOP
        EXIT When l_num Is Null;
        IF ( Substr(l_num, Length(l_num)-(j-1), j) <> 0 ) Then
           l_return := To_Char(To_Date(
                            Substr(l_num, Length(l_num)-(j-1), j),'J' ), 'Jsp' ) || l_str(i) || l_return;
        END IF;
        l_num := Substr( l_num, 1, Length(l_num)-j );
        j:=2;
    END LOOP;
    IF l_dec > 0 Then
        l_return := rtrim(l_return) || ' and ' || rtrim(inr_words(Substr(l_dec,2), Null)) || ' ' || rtrim(Initcap(vFrdec));
    END IF;
    RETURN Replace(l_return, '-', ' ');
END;


13418052028i6PNp.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值