當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ Float轉String用法及代碼示例


在本文中,我們學習如何使用不同的方法在 C++ 中將浮點數轉換為字符串:

  • 使用to_string()
  • 使用字符串流
  • 使用宏
  • 使用 boost 庫中的lexical_cast

1. 使用to_string()

to_string() 方法采用單個整型變量或其他數據類型並將其轉換為字符串。

句法: -

string to_string (float value);

例子:

C++


#include <bits/stdc++.h> 
using namespace std; 
  
int main() { 
    float x=5.5; 
      string resultant; 
      resultant=to_string(x); 
    cout << "Converted value from float to String using to_string() is : "<<resultant<<endl; 
    return 0; 
} 
輸出
Converted value from float to String using to_string() is : 5.500000

說明:to_string函數將給定的浮點值轉換為字符串。

2.使用字符串流

stringstream 將字符串對象與流關聯起來,允許您像流一樣讀取字符串(如 cin)。要使用 stringstream,我們需要包含 sstream 頭文件。 stringstream 類在解析輸入時非常有用。基本方法有:

  • clear() -來清除流。
  • str() -獲取和設置其內容存在於流中的字符串對象。
  • 運算符 <<-將字符串添加到 stringstream 對象。
  • 運算符>>-從 stringstream 對象中讀取一些內容。

例子:

C++


#include <bits/stdc++.h> 
using namespace std; 
  
int main() { 
      
      float x=5.5; 
      stringstream s; 
      s<<x; // appending the float value to the streamclass 
      string result=s.str(); //converting the float value to string 
    cout <<"Converted value from float to String using stringstream is : "<<result<<endl; 
    return 0; 
} 
輸出
Converted value from float to String using stringstream is : 5.5

說明: stringstream 類將浮點值從變量轉換為字符串。它是 C++ 庫中的內置類。

3. 使用宏

該方法僅適用於浮點轉換。 STRING 宏使用“#”將浮點值轉換為字符串。

句法:

#define STRING(Value) #Value
string gfg(STRING(Float_value));

例子:

C++


#include <bits/stdc++.h> 
#include <string> 
using namespace std; 
//using macro to convert float to string 
#define STRING(Value) #Value 
  
int main() { 
    string gfg(STRING(5.5)); 
    if(gfg.empty()) cout << "The String is empty"<<endl ; 
    else cout << gfg << endl; 
  
    return EXIT_SUCCESS; 
}
輸出
5.5

4. 使用lexical_cast

庫 “boost/lexical_cast.hpp” 中定義的 Boost.LexicalCast 提供了一個轉換運算符 boost::lexical_cast,它可以將數字從字符串轉換為數字類型,如 int 或 double,反之亦然。 boost::lexical_cast 是 std::stoi()、std::stod() 和 std::to_string() 等函數的替代函數,這些函數已添加到 C++11 的標準庫中。

用法:

float x= 5.5;
string res = lexical_cast<string>(x);

例子:

C++


#include "boost/lexical_cast.hpp" 
#include <bits/stdc++.h> 
using namespace std; 
using boost::lexical_cast; 
using boost::bad_lexical_cast; 
int main() { 
   // Float to string conversion 
  float x= 5.5; 
  string res = lexical_cast<string>(x); 
  cout << res << endl; 
  return 0; 
}

輸出:

5.5


相關用法


注:本文由純淨天空篩選整理自raj2002大神的英文原創作品 Convert Float to String In C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。