• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 296
  • Last Modified:

how to covert a numeric to a character string

i been doing a project about a user menu..
i wonder how to convert a numeric to a character string
er...sorry about that, wat i really want to ask is for example if i key in a numeric number 3 then the
output will be a character "three" anf if i key in 4 it will return a character string "four". i wondder
what string library should used..
0
ChristopherNoel
Asked:
ChristopherNoel
  • 2
  • 2
  • 2
  • +3
1 Solution
 
pjknibbsCommented:
Not sure entirely what you mean. If you're asking how you can convert a number stored in an integer (e.g. 25343) to a printable string, then you're looking at sprintf() or _ltoa (the latter might possibly be compiler-specific, I'm not sure). If this ISN'T what you're asking I think you need to clarify the question.
0
 
ChristopherNoelAuthor Commented:
er...sorry about that, wat i really want to ask is for example if i key in a numeric number 3 then the output will be a character "three" anf if i key in 4 it will return a character string "four". i wondder what string library should used..
0
 
pagladasuCommented:
What is the range of numbers?
0
How do you know if your security is working?

Protecting your business doesn’t have to mean sifting through endless alerts and notifications. With WatchGuard Total Security Suite, you can feel confident that your business is secure, meaning you can get back to the things that have been sitting on your to-do list.

 
AlexNekCommented:
2 ChristopherNoel
What is the big problem. Let's create an arrays with text description and parse the number in the correct range.
{"zero","one","two",..,"nine"};
{"eleven", "twelve", "thirteen",..., "nineteen"}
{"ten","twenty",..."ninety"}
{"hundred", "thousand", "million"}
I think it is standard task for students.
0
 
pjknibbsCommented:
Well, there isn't a standard library function to do what you want, so you'll have to write your own. AlexNek has pointed you along the right path, I suspect.
0
 
VasudeeshaCommented:
Hi ChristopherNoel Here is C Progarm which will convert Number to Text.


**********************************************************
# include <ctype.h>
# include <stdio.h>

char *ot[3][9] = {
      { " One", " Two", " Three", " Four", " Five",
        " Six", " Seven", " Eight", " Nine" },
       { " Ten", " Twenty", " Thirty", " Forty", " Fifty",
          " Sixty", " Seventy", " Eighty", " Ninety" },
         { " Eleven", " Twelve", " Thirteen", " Fourteen",
        " Fifteen"," Sixteen"," Seventeen"," Eighteen", " Nineteen"}
         };

char *a[5] = { " Hundred", " Thousand", " Lakhs", " Crore", " Arab" } ;
char result[250] = "" ;
char *t[50] ;

main( )
{
     int i, j, ind = 0, c, r, pr = -1, e = 0 ;
     unsigned long n ;
     unsigned long q ;

     clrscr( ) ;
     printf ( "\nEnter a long unsigned number : " ) ;
     scanf ( "%ld", &n ) ;
     printf ( "%ld\n", n ) ;
     q = n ;
     if ( n == 0 )
          strcpy ( result, "Zero" ) ;
     else
     {
          for( i = 0 ; q > 0 ; i++ )
          {
     if( ( i % 2 ) && i > 2 )
     e++ ;
     r = q % 10 ;
     q /= 10 ;
     if ( r != 0 )
     {
     if ( i == 0 )
     t[++ind] = ot[i][r-1];
     else if ( i == 1 )
     {
     if ( r == 1 && pr == 0 )
     t[++ind] = ot[i][r-1] ;
     else if ( r == 1 && pr > 0 )
     t[--ind] = ot[2][r-1] ;
     else
     t[++ind] = ot[i][r-1] ;
     }
     else if ( i >= 2 )
     {
     if ( i == 2 )
     {
      t[++ind] = a[e] ;
      t[++ind] = ot[0][r-1] ;
     }
     else
     {
     if ( i % 2 )
     {
      t[++ind] = a[e] ;
      t[++ind] = ot[0][r-1] ;
     }
     else
     {
     if ( pr == 0 )
     {
      t[++ind] = a[e] ;
      t[++ind] = ot[1][r-1] ;
     }
     else if ( r == 1)
     t[ind] = ot[2][pr-1] ;
     else
     t[++ind] = ot[1][r-1] ;
     }
     }
     }
     }
     pr = r ;
     }
     }/* End for */

     for ( i = ind ; i >= 0 ; i-- )
          strcat ( result, t[i] ) ;

     printf( "\n%s", result ) ;

} /* End main */
0
 
VasudeeshaCommented:
Hi ChristopherNoel

Please convert the above program...
....
....
....
char *a[5] = { " Hundred", " Thousand", " Lakhs", " Crore", " Arab" } ;

      ----------To---------

char *a[5] = { " Hundred", " Thousand", " Million", " Million", " Trillion" } ;

The above Numbering system we use in India... You can change to your country's format ..


Bye
Vasudeesha
0
 
Kent OlsenData Warehouse Architect / DBACommented:
No comment has been added lately, so it's time to clean up this TA.

I will leave a recommendation in the Cleanup topic area that this question is:
Accept Vasudeesha's comment as answer

Please leave any comments here within the next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!

Kent (Kdo)
EE Cleanup Volunteer
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

  • 2
  • 2
  • 2
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now