Write a C function ftoa() that converts a given floating point number to string. Use of standard library functions for direct conversion is not allowed. The following is prototype of ftoa().
ftoa(n, res, afterpoint) n --> Input Number res --> Array where output string to be stored afterpoint --> Number of digits to be considered after point. For example ftoa(1.555, str, 2) should store "1.55" in res and ftoa(1.555, str, 0) should store "1" in res.
We strongly recommend to minimize the browser and try this yourself first.
A simple way is to use sprintf(), but use of standard library functions for direct conversion is not allowed.
The idea is to separate integral and fractional parts and convert them to strings separately. Following are the detailed steps.
1) Extract integer part from floating point.
2) First convert integer part to string.
3) Extract fraction part by exacted integer part from n.
4) If d is non-zero, then do following.
….a) Convert fraction part to integer by multiplying it with pow(10, d)
….b) Convert the integer value to string and append to the result.
Following is C implementation of the above approach.
This article is contributed by Jayasantosh Samal. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
- How to count set bits in a floating point number in C?
- Rounding Floating Point Number To two Decimal Places in C and C++
- Can we use % operator on floating point numbers?
- C Program to Multiply two Floating Point Numbers
- Floating Point Operations & Associativity in C, C++ and Java
- Write a one line C function to round floating point numbers
- C++ Floating Point Manipulation (fmod(), remainder(), remquo() ... in cmath)
- Precision of floating point numbers in C++ (floor(), ceil(), trunc(), round() and setprecision())
- What is the best way in C to convert a number to a string?
- Convert string to char array in C++
- gcvt() | Convert float value to string in C
- How to convert a single character to string in C++?
- How to convert C style strings to std::string and vice versa?
- sizeof() for Floating Constant in C
- Rotation of a point about another point in C++