Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 254
  • Last Modified:

Converting numerical amounts to Text-based messages

I'm building a project and i need code to transform numerical amounts (i.e.125.50 dollars) to text-based messages (i.e. one hundred and 25 dollars and fifty cents). Is there any possible way to do this in code?.
0
LatinFriend_M
Asked:
LatinFriend_M
1 Solution
 
LatinFriend_MAuthor Commented:
Adjusted points from 100 to 150
0
 
rwilson032697Commented:
Sorry, EE prohibits members to ask assignment Q's and experts to answer them.

If you have specific problems with how to write the code then that is a perfectly reasonable question to ask, but to just plain ask for the code for your assignment is not.

Sorry,

Raymmond.
0
 
LatinFriend_MAuthor Commented:
Edited text of question.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
f15iafCommented:
you need to give more points for this code
0
 
kretzschmarCommented:
hi LatinFriend_M,

get the fre component-library vglib at

http://www.tsinet.ru/~vg/


it contains this component:
TMoneyString : TMoneyString is high-customizable component that converts
numbers to verbal representation.

hope this helps

meikl
0
 
LatinFriend_MAuthor Commented:
i really aprecciate your help kretzschmar, but i would like to do my best and try to code myself this rutine. I will keep the adress you gave me just in case, but for now, i will keep looking for the basics for this rutine. Thanks anyway kretzschmar. f15iaf, i appreciate your comment. I'm a new one in this site and i would like to know how much points my question deserve. Thanks for your comment.
0
 
lgmmCommented:
in this page you can find a component that make the changes from numeric to letters

this is a great page

http://delphi.icm.edu.pl/
0
 
LatinFriend_MAuthor Commented:
lgmm

I appreciate your help, but i was looking in the site you recommended me and i couldn't find the component you told me. Perhaps you can tell me where to look for in the site (i use delphi 3). However, i'm not looking for a component, i'm looking for "clues" to begin my own unit. If in this site is a explanation of the component you told me or pieces of the code used to create it, i will take your answer for good!!. Please let me know where i can find this component.
0
 
veeramaniCommented:
Hi Latinfriend,
                here is the answer for you,but partially,you update it to speak the cents.
Regards,

veeramani
 
If u want to convert no.s into words use this function
ie 2567 - Two thousand Five hundred sixty seven
 
str := notowords(2567) ;
Max Limit - 1,999,999,999. (Integer limit, I can't help it)
 
Note : If u get any bugs in this, let me know.
 
Function NotoWords(Money : Integer): string;
var
   DivisnArr : array [1..6] of integer ;
   HunThuArr : array [1..4] of string ;
   TenNinArr : array [1..9] of string ;
   TeennoArr : array [1..9] of string ;
   SingleArr : array [1..9] of string ;
 
   Remainder,Quotient, I : integer ;
   HundredAdd, TempStr : string ;
 
begin
 
   DivisnArr[1] := 1000000000 ;
   DivisnArr[2] := 1000000 ;
   DivisnArr[3] := 1000 ;
   DivisnArr[4] := 100 ;
   DivisnArr[5] := 10 ;
   DivisnArr[6] := 1 ;
 
   HunThuarr[1] := 'Billion' ;
   HunThuarr[2] := 'Million' ;
   HunThuarr[3] := 'Thousand' ;
   HunThuarr[4] := 'Hundred' ;
 
   TenNinArr[1] := 'Ten' ;
   TenNinArr[2] := 'Twenty' ;
   TenNinArr[3] := 'Thirty' ;
   TenNinArr[4] := 'Fourty' ;
   TenNinArr[5] := 'Fifty' ;
   TenNinArr[6] := 'Sixty' ;
   TenNinArr[7] := 'Seventy' ;
   TenNinArr[8] := 'Eighty' ;
   TenNinArr[9] := 'Ninty' ;
 
   TeennoArr[1] := 'Eleven' ;
   TeennoArr[2] := 'Twelve' ;
   TeennoArr[3] := 'Thirteen' ;
   TeennoArr[4] := 'Fourteen' ;
   TeennoArr[5] := 'Fifteen' ;
   TeennoArr[6] := 'Sixteen' ;
   TeennoArr[7] := 'Seventeen' ;
   TeennoArr[8] := 'Eighteen' ;
   TeennoArr[9] := 'Ninteen' ;
 
   SingleArr[1] := 'One' ;
   SingleArr[2] := 'Two' ;
   SingleArr[3] := 'Three' ;
   SingleArr[4] := 'Four' ;
   SingleArr[5] := 'Five' ;
   SingleArr[6] := 'Six' ;
   SingleArr[7] := 'Seven' ;
   SingleArr[8] := 'Eight' ;
   SingleArr[9] := 'Nine' ;
 
   if money=0 then exit ;
   for i:=1 to 6 do
   begin
      if i<5 then
      begin
         quotient := Money div divisnarr[i] ;
         Remainder := Money mod divisnarr[i] ;
      end
      else
         quotient := remainder ;
 
      if quotient>0 then
      begin
         if quotient>99 then
         begin
             HundredAdd := SingleArr[quotient div 100] + ' '+ HunThuarr[4] + ' ';
             quotient := quotient mod 100 ;
         end ;
         if quotient > 0 then
         begin
            if (quotient mod 10)=0 then
            begin
               Tempstr := TenNinArr[quotient div 10] ;
            end
            else if (quotient > 20) then
            begin
               tempstr := TenNinArr[quotient div 10] + ' ' + SingleArr[quotient mod 10] ;
            end
            else if (quotient > 10) and (quotient < 20) then
            begin
               tempstr := TeenNoArr[quotient-10] ;
            end
            else if quotient<10 then
            begin
               tempstr := SingleArr[quotient] ;
            end ;
         end ;
         if i<5 then
            NotoWords := hundredadd + tempstr +' '+ HunThuarr[i] + ' '+  notowords(remainder)
         else
            NotoWords := tempstr + ' ';
         exit ;
      end ;
   end ;
 
end ;
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now