How can I convert a number to a string? Ans. The standard C library provides several functions for converting numbers of all formats (integers, longs, floats, and so on) to strings and vice versa. One of these functions, itoa(), is used here to illustrate how an integer is converted to a string: #include #include void main(void); void main(void) { int num = 100; char str[25]; itoa(num, str, 10); printf('The number 'num' is %d and the string 'str' is %s.\n', num, str); } Notice that the itoa() function takes three arguments: the first argument is the number you want to convert to the string, the second is the destination string to put the converted number into, and the third is the base, or radix, to be used when converting the number. The preceding example uses the common base 10 to convert the number to the string. The following functions can be used to convert integers to strings: Function Name Purpose itoa() - Converts an integer value to a string. ltoa() - Converts a long integer value to a string. ultoa() - Converts an unsigned long integer value to a string. Note that the itoa(), ltoa(), and ultoa() functions are not ANSI compatible. An alternative way to convert an integer to a string (that is ANSI compatible) is to use the sprintf() function, as in the following example: #include #include void main(void); void main(void) { int num = 100; char str[25]; sprintf(str, '%d', num); printf('The number 'num' is %d and the string 'str' is %s.\n', num, str); } When floating-point numbers are being converted, a different set of functions must be used. Here is an example of a program that uses the standard C library function fcvt() to convert a floating-point value to a string: #include #include void main(void); void main(void) { double num = 12345.678; char* str; int dec_pl, sign, ndigits = 3; /* Keep 3 digits of precision. */ str = fcvt(num, ndigits, &dec_pl, &sign); /* Convert the float to a string. */ printf('Original number: %f\n', num); /* Print the original floating-point value. */ printf('Converted string: %s\n', str); /* Print the converted string's value */ printf('Decimal place: %d\n', dec_pl); /* Print the location of the decimal point. */ printf('Sign: %d\n', sign); /* Print the sign. 0 = positive, 1 = negative. */ } Notice that the fcvt() function is quite different from the itoa() function used previously. The fcvt() function takes four arguments. The first argument is the floating-point value you want to convert. The second argument is the number of digits to be stored to the right of the decimal point. The third argument is a pointer to an integer that is used to return the position of the decimal point in the converted string. The fourth argument is a pointer to an integer that is used to return the sign of the converted number (0 is positive, 1 is negative). Note that the converted string does not contain the actual decimal point. Instead, the fcvt() returns the position of the decimal point as it would have been if it were in the string. In the preceding example, the dec_pl integer variable contains the number 5 because the decimal point is located after the fifth digit in the resulting string. If you wanted the resulting string to include the decimal point, you could use the gcvt() function (described in the following table). The following functions can be used to convert floating-point values to strings: Function Purpose ecvt() - Converts a double-precision floating-point value to a string without an embedded decimal point. fcvt() - Same as ecvt(), but forces the precision to a specified number of digits. gcvt() - Converts a double-precision floating-point value to a string with an embedded decimal point. - Study24x7
Social learning Network
29 Mar 2023 03:50 PM study24x7 study24x7

How can I convert a number to a string? Ans. The standard C library provides several functions for converting numbers of all formats (integers, longs, floats, and so on) to strings and vice versa. One of these functions, itoa(), is used here to illustrate how an integer is conve...

See more

study24x7
Write a comment
Related Questions
500+   more Questions to answer
Most Related Articles