std::stod
和 std::to_string
是 C++ 標準庫中的兩種函數,它們用于將不同類型的數據轉換為字符串。
const char*
類型的參數,并返回一個 double
類型的值。如果輸入的字符串不能被解析為有效的浮點數,那么結果將是 0.0,并且 std::invalid_argument
異常將被拋出。示例:
#include <iostream>
#include <string>
#include <stdexcept>
int main() {
std::string str = "3.14";
try {
double d = std::stod(str);
std::cout << "Converted string to double: "<< d << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Invalid argument: " << e.what() << std::endl;
}
return 0;
}
float
、double
和 long double
類型)轉換為字符串。它接受一個模板參數 T
,表示要轉換的數據類型,以及一個參數,表示要轉換的值。函數返回一個 std::string
類型的值。示例:
#include <iostream>
#include <string>
int main() {
int i = 42;
double d = 3.14;
std::string int_str = std::to_string(i);
std::string double_str = std::to_string(d);
std::cout << "Integer as string: " << int_str << std::endl;
std::cout << "Double as string: " << double_str << std::endl;
return 0;
}
總結:
std::stod
用于將字符串轉換為浮點數,如果輸入的字符串無法解析為有效的浮點數,將拋出異常。std::to_string
用于將整數或浮點數轉換為字符串,支持多種數據類型。