# C++
C ++字符串与浮点数和双浮点数转换
将字符串转换为浮点数的最简单方法是使用以下C ++ 11函数:
- std :: stof() - 将string转换为float
- std :: stod() - 将string转换为double
- std :: stold() - 将string转换为long double。
这些函数在string头文件中定义。
示例1:C ++字符串转换为浮点和双浮点数
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include <iostream> #include <string>
int main() { std::string str = "123.4567";
float num_float = std::stof(str);
double num_double = std::stod(str);
std:: cout<< "num_float = " << num_float << std::endl; std:: cout<< "num_double = " << num_double << std::endl;
return 0; }
|
输出结果
num_float = 123.457
num_double = 123.457
示例2:将C ++ char数组转换为double
我们可以使用std::atof()函数将char数组转换为double。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include <iostream>
#include <cstdlib>
int main() {
char str[] = "123.4567";
double num_double = std::atof(str);
std::cout << "num_double = " << num_double << std::endl; return 0; }
|
输出结果
num_double = 123.457
Reference
C++ String(字符串)和 float/double (浮点数)互转 - 菜鸟教程 (cainiaojc.com)