How to Convert Amount (Currency) in words directly on Crystal Report.
Just Simply copy paste below code in your function.
To Create function follow the steps given below:
i) go to Field Explorer
ii) right click on Formula Fields click on New give specific name
iii) Formula Editor window will open just paste the Code given below
iv) Save & Close...
v) Just drag the Field to your specific required Location that done...
Changes to be made from your side is
i) vwCostTypes.UnitCost : This is a Database Field. Change as per your requirement.
Please note if you have Currency as Datatype in SQL DB than Do use ToNumber() function to convert it to number otherwise it will throw error of Number Required.
Please have the below code:
//#####################
//Created by Anup Shah.
//#####################
numbervar RmVal:=0;
currencyVar Amt:=0;
numbervar pAmt:=0;
stringvar InWords :="Rupees
";
Amt := ({vwCostTypes.UnitCost});
if Amt > 10000000 then RmVal :=
truncate(ToNumber(Amt)/10000000);
if Amt = 10000000 then RmVal := 1;
if RmVal = 1 then
InWords := InWords + "
" + towords(RmVal,0) + "
crore"
else
if RmVal > 1 then InWords := InWords + " " + towords(RmVal,0) + " crores";
Amt := Amt - Rmval * 10000000;
if Amt > 100000 then RmVal :=
truncate(ToNumber(Amt)/100000);
if Amt = 100000 then RmVal := 1;
if RmVal >=1 then
InWords := InWords + "
" + towords(RmVal,0) + "
lakhs";
Amt := Amt - Rmval * 100000;
if Amt > 0 then InWords := InWords + " " + towords(truncate(Amt),0);
pAmt := (ToNumber(Amt) - truncate(ToNumber(Amt))) *
100;
if pAmt > 0 then
InWords := InWords + "
and " + towords(pAmt,0) + " paisa
only"
else
InWords := InWords + "
only";
UPPERCASE(InWords)
//#####################
Thanks For Coding
ReplyDelete"(TOTAL EURO "+UpperCase(Towords(sum({@Tot}),0))+" Point "+ UpperCase(Towords(remainder(sum({@Tot}),1)*100,0))
ReplyDeleteIt's work very nice,
ReplyDeleteThank you.
Nice and Amazing. Thank you
ReplyDeleteThanks for ya Code but how do u write it to convert into shillings
ReplyDeleteFOr 4 Crores it showing 4 crore 4 lakh only. there is some bug in it
ReplyDeleteDid you get any response for this problem?
DeleteRUPEES TWO LAKHS THIRTY-FIVE THOUSAND FOUR HUNDRED FOURTEEN ONLY
ReplyDeletehow to remove - between thirty and five
Thank You.
ReplyDeleteThank you.......
ReplyDeleteits very helpful
Great Thinking and Coding man ....
ReplyDeleteSo simple to use
Does not work properly more than 1 crore. please try 50000000.
ReplyDeleteI read that Post and got it fine and informative. convert money calculator
ReplyDeleteThanks, that was a really cool read! convert currency
ReplyDelete