C++程式將布林變數轉換為字串
C++中的布林變數只能包含兩個不同的值,'true'或'false'。如果我們將這些值轉換為字串,'true'將對映到'1','false'將對映到'0'。布林值主要用於檢查程式中的某個條件是否滿足。我們沒有像從int到long和float到double的轉換那樣,直接從布林值到字串的轉換。但需要將布林值轉換為字串,我們探討了將二進位制布林值轉換為字串值的幾種不同方法。
使用三元運算子進行轉換
我們設計了一種演算法,使用該演算法檢查提供的布林變數的值,然後根據該值輸出'true'或'false'。輸出是一個字串變數,而輸入是一個布林值。我們使用了三元運算子來確定輸出,因為只有兩個布林值。
語法
bool input = <Boolean value>; string output = input ? "true" : "false";
演算法
- 將布林值作為輸入;
- 如果布林值為真,則輸出將為字串'true'。
- 否則,如果布林輸入值為假,則輸出值將為'false'。
示例
#include <iostream> using namespace std; string solve(bool input) { //using ternary operators return input ? "true" : "false"; } int main() { bool ip = true; string op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " << op << endl; return 0; }
輸出
The input value is: 1 The output value is: true
輸入值儲存在變數ip中,轉換操作在函式solve()中完成。函式的輸出儲存在一個字串變數中,該變數為op。我們可以看到這兩個變數的輸出。輸出中的第一個值是在轉換之前,輸出中的第二個值是在轉換之後。
在字串輸出時使用std::boolalpha
boolalpha是一個I/O操縱器,因此可以在流中使用。我們將討論的第一種方法無法使用此方法將布林值分配給字串變數,但我們可以使用它以輸入/輸出流中的格式輸出它。
語法
bool input = <Boolean value>; cout<< "The output value is: " << boolalpha << input << endl;
演算法
- 將布林值作為輸入。
- 使用boolapha修飾符顯示布林值作為輸出。
示例
#include <iostream> using namespace std; int main() { bool ip = true; cout<< "The input value is: " << ip << endl; cout<< "The output value is: " << boolalpha << ip << endl; return 0; }
輸出
The input value is: 1 The output value is: true
在上面的示例中,我們可以看到,如果我們使用cout輸出布林變數的值,輸出為0或1。當我們在cout中使用boolalpha時,我們可以看到輸出更改為字串格式。
使用std::boolalpha並將其分配給變數
在前面的示例中,我們只是修改了輸出流以獲取布林值的字串輸出。現在我們看看如何使用它將字串值儲存在變數中。
語法
bool input = <Boolean value>; ostringstream oss; oss << boolalpha << ip; string output = oss.str();
演算法
- 將布林值作為輸入。
- 使用boolalpha修飾符將輸入值放入輸出流物件中。
- 返回輸出流物件的字串格式。
示例
#include <iostream> #include <sstream> using namespace std; string solve(bool ip) { //using outputstream and modifying the value in the stream ostringstream oss; oss << boolalpha << ip; return oss.str(); } int main() { bool ip = false; string op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " << op << endl; return 0; }
輸出
The input value is: 0 The output value is: false
與前面的示例不同,我們將輸入布林值放入輸出流中,然後將其轉換為字串。solve()函式返回一個字串值,我們在字串函式中將該值儲存在op變數中。
結論
我們討論了將二進位制布林值轉換為字串的各種方法。當我們處理資料庫或與某些基於Web的API互動時,這些方法很有用。API或資料庫方法可能不接受布林值,因此使用這些方法,我們可以將其轉換為字串值,因此任何接受字串值的方法也可以使用。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP