I'm new to C development. How can convert I double values to a uint_8 type array. 
double test=1234.642462
I want to save as it as
uint8_t data[] = {'1','2','3','4','.','6','4','2','4','6','2'};
Any help is appreciated. Thank you.
I'm new to C development. How can convert I double values to a uint_8 type array. 
double test=1234.642462
I want to save as it as
uint8_t data[] = {'1','2','3','4','.','6','4','2','4','6','2'};
Any help is appreciated. Thank you.
 
    
    You can use the snprintf function like this:
#include <stdlib.h>    
int8_t data[20];
double test=1234.642462;
snprintf(data, 20, "%f", test);
The 20 character limit should be adjusted to the desired precision, since floating point numbers can be very long.
 
    
    DBL_MAX is typically about 179769...(303 more digits).0.  Usually only the first 17 are consider significant.
DBL_MIN is typically about 0.000(303 more zeros)222507... And again  usually only the first 17 are consider significant.
To convert the entire range of double into a non-exponential decimal string showing significant digits can take hundreds of bytes - not a practical approach.
To convert a double into a decimal text representation, stored in char, uint8_t, int8_t, etc., is best done using exponential notation with enough, but not excessive amount of significant digits.  Use *printf() family with e.
#include <float.h>
//                     -   d   .       dddd                e   -  expo \0
#define DBL_TEXT_SIZE (1 + 1 + 1 + (DBL_DECIMAL_DIG - 1) + 1 + 1 + 6 + 1)
...
uint8_t data[DBL_TEXT_SIZE];
sprintf(data, "%.e", DBL_DECIMAL_DIG - 1, test);
For more details: See Printf width specifier to maintain precision of floating-point value
 
    
    