How to convert string to float?

Use atof() or strtof()* instead: printf(“float value : %4.8f\n” ,atof(s)); printf(“float value : %4.8f\n” ,strtof(s, NULL)); http://www.cplusplus.com/reference/clibrary/cstdlib/atof/ http://www.cplusplus.com/reference/cstdlib/strtof/ atoll() is meant for integers. atof()/strtof() is for floats. The reason why you only get 4.00 with atoll() is because it stops parsing when it finds the first non-digit. *Note that strtof() requires C99 or C++11.