在C++中,使用stod函數將字符串轉換為雙精度浮點數時,可以通過設置std::setprecision函數來控制轉換后雙精度浮點數的精度。例如:
#include <iostream>
#include <string>
#include <iomanip>
int main() {
std::string str = "3.14159265358979323846";
double num = std::stod(str);
std::cout << std::fixed << std::setprecision(10) << num << std::endl;
return 0;
}
在上面的例子中,通過調用std::setprecision(10)設置了轉換后雙精度浮點數的精度為10。輸出結果為3.1415926536。
需要注意的是,設置精度只是控制輸出時的小數位數,并不會改變雙精度浮點數本身的精度。