溫馨提示×

c++ stod和std::to_string咋樣

c++
小樊
119
2024-11-25 15:17:51
欄目: 編程語言

std::stodstd::to_string 是 C++ 標準庫中的兩種函數,它們用于將不同類型的數據轉換為字符串。

  1. std::stod:這個函數用于將一個字符串轉換為浮點數(double)。它接受一個 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;
}
  1. std::to_string:這個函數用于將一個整數(包括有符號和無符號類型)或浮點數(包括 float、doublelong 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 用于將整數或浮點數轉換為字符串,支持多種數據類型。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女