C++ 基礎(chǔ)教程

C++ 流程控制

C++ 函數(shù)

C++ 數(shù)組 & 字符串

C++ 數(shù)據(jù)結(jié)構(gòu)

C++ 類 & 對象

C++ 指針

C++ 繼承

C++ STL 教程

C++ 參考手冊

C++ String(字符串)和 float/double (浮點(diǎn)數(shù))互轉(zhuǎn)

在本教程中,我們將借助示例學(xué)習(xí)如何將字符串轉(zhuǎn)換為浮點(diǎn)數(shù),反之亦然。

C ++字符串與浮點(diǎn)數(shù)和雙浮點(diǎn)數(shù)轉(zhuǎn)換

將字符串轉(zhuǎn)換為浮點(diǎn)數(shù)的最簡單方法是使用以下C ++ 11函數(shù):

  • std :: stof() - 將string轉(zhuǎn)換為float

  • std :: stod() - 將string轉(zhuǎn)換為double

  • std :: stold() - 將string轉(zhuǎn)換為long double。

這些函數(shù)在string頭文件中定義。

示例1:C ++字符串轉(zhuǎn)換為浮點(diǎn)和雙浮點(diǎn)數(shù)

#include <iostream>
#include <string>

int main() {
    std::string str = "123.4567";

    // 將字符串轉(zhuǎn)換為浮點(diǎn)數(shù)
    float num_float = std::stof(str);

    // 將字符串轉(zhuǎn)換為雙浮點(diǎn)數(shù) double
    double num_double = std::stod(str);

   std:: cout<< "num_float = " << num_float << std::endl;
   std:: cout<< "num_double = " << num_double << std::endl;

    return 0;
}

輸出結(jié)果

num_float = 123.457
num_double = 123.457

示例2:將C ++ char數(shù)組轉(zhuǎn)換為double

我們可以使用std::atof()函數(shù)將char數(shù)組轉(zhuǎn)換為double。

#include <iostream>

// atoi()需要cstdlib
#include <cstdlib>

int main() {

    // 聲明和初始化字符數(shù)組
    char str[] = "123.4567";

    double num_double = std::atof(str);

    std::cout << "num_double = " << num_double << std::endl;
    
    return 0;
}

輸出結(jié)果

num_double = 123.457

C ++浮點(diǎn)和雙浮點(diǎn)數(shù)轉(zhuǎn)換為字符串

我們可以使用C ++ 11 std :: to_string()函數(shù)將float和double轉(zhuǎn)換為字符串。 對于較舊的C ++編譯器,我們可以使用std :: stringstream對象。

示例3:使用to_string()將浮點(diǎn)數(shù)和雙浮點(diǎn)數(shù)轉(zhuǎn)換為字符串

#include <iostream>
#include <string>

int main() {
    float num_float = 123.4567F;
    double num_double = 123.4567;

    std::string str1 = std::to_string(num_float);
    std::string str2 = std::to_string(num_double);

   std::cout << "Float 轉(zhuǎn)換為 String = " << str1 << std::endl;
   std::cout << "Double 轉(zhuǎn)換為 String = " << str2 << std::endl;

    return 0;
}

輸出結(jié)果

Float 轉(zhuǎn)換為 String = 123.456703
Double 轉(zhuǎn)換為 String = 123.456700

示例4:使用stringstream將浮點(diǎn)數(shù)和雙浮點(diǎn)數(shù)轉(zhuǎn)換為字符串

#include <iostream>
#include<string>
#include<sstream> // 使用stringstream

int main() {
    float num_float = 123.4567F;
    double num_double = 123.4567;
  
    // 創(chuàng)建stringstream對象
    std::stringstream ss1;
    std::stringstream ss2;
  
    // 將num_float的值分配給ss1
    ss1 << num_float;
  
    // 將num_float的值分配給ss2
    ss2 << num_double;

     //用ss1和ss2的值初始化兩個字符串變量
     //然后使用str()函數(shù)將其轉(zhuǎn)換為字符串格式
    std::string str1 = ss1.str();
    std::string str2 = ss2.str();
  
    std::cout << "Float 轉(zhuǎn)換為 String = " << str1 << std::endl;
    std::cout << "Double 轉(zhuǎn)換為 String = " << str2 << std::endl;

    return 0;
}

輸出結(jié)果

Float 轉(zhuǎn)換為 String = 123.457
Double 轉(zhuǎn)換為 String = 123.457

相關(guān)轉(zhuǎn)換:將 C ++字符串轉(zhuǎn)換為int。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清