Monsieur Winner

MS D365FO || Monsieur D365FO

Technical

Convert amount to words with Currency name in D365FO – X++

While designing an SSRS report recently, I had a reason to display the amount in words alongside the currency name. Example:  2299.68 = Two Thousand Two Hundred Ninety Nine Naira and Sixty Eight Kobo only.

Naira represents the currency of Nigeria and 100 Kobo = 1 Naira.

 

To achieve this, I create a method in my DP class as follow: I am passing 3 parameters: Amount, Naira and Kobo.

private Description convertAmountInWords(real _amount, str _currency1, str _currency2)

{

real decimals, WordReal;
int intNum;
str 250 word, decWord, wholeWord;
int repPos, repPos1, repPoswhole;

word = Global::numeralsToTxt_EN(_amount);

repPos = strscan(word, ' and', 1, strlen(word));

intNum = _amount;

decimals = _amount - intNum;
WordReal = _amount - decimals;

if (decimals == 0.00)

{

wholeWord = num2str(WordReal,0,0,0,0);

wholeWord = Global::numeralsToTxt_EN(str2num(wholeWord));
wholeWord = strdel(wholeWord, 1, 4);
repPoswhole = strscan(wholeWord,' and', 1, strlen(wholeWord));
wholeWord = substr(wholeWord, 1, repPoswhole-1);

word = strfmt("%1 %2 only",wholeWord,_currency1);

}

else

{

decWord = substr(num2str(decimals, 0, 2, 1, 1), 3, 2);
wholeWord = num2str(WordReal,0,0,0,0);

decWord = Global::numeralsToTxt_EN(str2num(decWord));
wholeWord = Global::numeralsToTxt_EN(str2num(wholeWord));

decWord = strdel(decWord, 1, 4);
wholeWord = strdel(wholeWord, 1, 4);

repPos1 = strscan(decWord, 'and', 1, strlen(decWord));
repPoswhole = strscan(wholeWord, ' and', 1, strlen(wholeWord));

decWord = substr(decWord, 1, repPos1-1);
wholeWord = substr(wholeWord, 1, repPoswhole-1);

word = strfmt("%1 %2 and %3 %4 only",wholeWord,_currency1,decWord,_currency2);
}

return word;
}

 

admin

Komi Siabi is a Bilingual D365FO Solution architect who loves sharing his knowledge as he works on Both Francophone and Anglophone projects around the globe. He enjoys doing some tiktok videos in his leisure time.

0 thoughts on “Convert amount to words with Currency name in D365FO – X++

  • Your comment is awaiting moderation.

    Hey exceptional website! Does running a blog such as this take a massive amount work? I’ve no expertise in coding but I had been hoping to start my own blog soon. Anyways, should you have any ideas or techniques for new blog owners please share. I know this is off subject nevertheless I simply wanted to ask. Many thanks!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *