我想知道什么样的算法可以用来将类似"4.72"的东西变成浮点数据类型,等于
float x = 4.72;
Run Code Online (Sandbox Code Playgroud)
Jer*_*fin 10
scanf,operator>>对于istreams,strtof将是明显的选择.
有是也atof,但是,像atoi,它没有办法告诉你,有一个在输入一个错误,所以一般情况下最好是避免两者.
Eug*_*nca 10
对于C++,您可以使用boost :: lexical_cast:
std::string str( "4.72" );
float x = boost::lexical_cast< float >( str );
Run Code Online (Sandbox Code Playgroud)
对于C,您可以使用sscanf:
char str[]= "4.72";
float x;
sscanf( str, "%f", &x );
Run Code Online (Sandbox Code Playgroud)