char* 转 float:
double atof (const char* str);
/* atof example: sine calculator */#include/* printf, fgets */#include /* atof */#include /* sin */int main (){ double n,m; double pi=3.1415926535; char buffer[256]; printf ("Enter degrees: "); fgets (buffer,256,stdin); n = atof (buffer); m = sin (n*pi/180); printf ("The sine of %f degrees is %f\n" , n, m); return 0;}
string 转 float;
float stof (const string& str, size_t* idx = 0);float stof (const wstring& str, size_t* idx = 0);
#include// std::cout#include // std::string, std::stofint main (){ std::string orbits ("686.97 365.24"); std::string::size_type sz; // alias of size_t float mars = std::stof (orbits,&sz); float earth = std::stof (orbits.substr(sz)); std::cout << "One martian year takes " << (mars/earth) << " Earth years.\n"; return 0;}
相关有stoi,stod,stold,以及strtod
由数值转向string:
函数原型:
string to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);string to_string (unsigned long val);string to_string (unsigned long long val);string to_string (float val);string to_string (double val);string to_string (long double val);
举例
// to_string example#include// std::cout#include // std::string, std::to_stringint main (){ std::string pi = "pi is " + std::to_string(3.1415926); std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number"; std::cout << pi << '\n'; std::cout << perfect << '\n'; return 0;}
但是在 某些编译器里 to_string 不被支持。http://stackoverflow.com/questions/12975341/to-string-is-not-a-member-of-std-says-so-g
解决方法:
http://stackoverflow.com/questions/11063413/erroritoa-was-not-declared-in-this-scope