std::stod
是 C++ 標準庫中的一個函數,用于將字符串轉換為 double
類型的浮點數。如果傳遞給 std::stod
的字符串不能轉換為有效的浮點數,該函數會拋出一個 std::invalid_argument
異常。
例如:
#include <iostream>
#include <string>
#include <stdexcept>
int main() {
try {
std::string str = "abc";
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;
} catch (const std::out_of_range& e) {
std::cerr << "Out of range: " << e.what() << std::endl;
}
return 0;
}
在這個例子中,字符串 “abc” 不能轉換為有效的浮點數,因此 std::stod
拋出一個 std::invalid_argument
異常。程序會捕獲這個異常并輸出錯誤信息。