Swift程式:將字串型別變數轉換為布林值


本教程將討論如何編寫Swift程式以將字串型別變數轉換為布林值。

Swift支援多種資料型別,字串和布林值就是其中兩種。字串是有序字元集合。例如:“TutorialsPoint”、“Pinky”等。要建立字串型別變數,我們使用String關鍵字。而布林值表示bool值。Bool只有兩個值:true或false。要建立布林型別變數,我們使用Bool關鍵字。

Swift沒有提供任何專用的建構函式(如String(),Int())來將字串轉換為布林值。因此,我們可以使用以下任一方法將布林值轉換為字串。

以下是相同的演示 -

輸入

假設我們的給定輸入為 -

Value = “true”

輸出

期望輸出為 -

Bool = true

方法1

在這種方法中,我們使用比較運算子(==)將字串轉換為布林值。

示例

以下程式演示如何將字串型別變數轉換為布林值。

import Foundation
import Glibc

// String type variable
var myStr : String = "true"

// Bool type variable 
var myValue : Bool

// Convert string into bool
myValue = (myStr == "true")

print("Boolean value:", myValue)
print("Type of myValue variable:", type(of: myValue))

輸出

Boolean value: true
Type of myValue variable: Bool

在上面的程式碼中,我們有一個字串 = “true”。現在我們透過使用(==)運算子將輸入的字串與“true”進行比較來將字串轉換為布林值。如果兩個字串相等,則返回true。否則返回false。這裡兩個字串相等,所以它返回true,並將結果賦值給布林變數。

我們可以使用這種方法,但它不是將字串轉換為布林值的最有效方法。

方法2

眾所周知,Bool資料型別只能接受兩個值:true或false。但是使用者可能有多種字串表示布林值,例如“TRUE”、“FALSE”、“0”、“1”、“T”、“F”、“YES”、“NO”、“yes”、“no”、“True”、“False”等。為了解決這個問題,我們使用switch case語句將字串轉換為布林值。

示例

以下程式演示如何將字串型別變數轉換為布林值。

import Foundation
import Glibc

// String type variable
var myStr : String = "FALSE"

// Bool type variable 
var myValue : Bool 

// Convert String into Bool
// Using switch case statement
switch myStr.lowercased(){
   case "true", "t", "1", "yes", "y":
   myValue = true
   print("Boolean Value:", myValue)
   case "false", "f", "no", "0", "n":
   myValue = false
   print("Boolean Value:", myValue)
   default:
   print("Entered value is not valid boolean value")
}

輸出

Boolean Value: false

在上面的程式碼中,我們有字串 = “FALSE”。現在我們使用switch case語句將字串轉換為布林值。在switch表示式中,我們使用lowercased()函式將給定的字串轉換為小寫。現在我們將模式與每個case進行匹配,並在第二個case中找到匹配項。因此,將執行第二個case中的程式碼 -

myValue = false
print("Boolean Value:", myValue)

這就是我們如何使用switch-case語句將字串轉換為布林值。

方法3

使用者可以有多個字串來表示布林值,例如“TRUE”、“FALSE”、“0”、“1”、“T”、“F”、“YES”、“NO”、“yes”、“no”、“True”、“False”等。但是Bool資料型別只能接受兩個值:true或false。因此,我們使用陣列將字串轉換為布林值。

示例

以下程式演示如何將字串型別變數轉換為布林值。

import Foundation
import Glibc

// String type variable
var myStr : String = "TRUE"

// Bool type variable 
var myValue : Bool 

// Create array
var forTrue = ["true", "t", "1", "yes", "y"]
var forFalse = ["false", "f", "no", "0", "n"]

var temp = myStr.lowercased()

// Convert String into Bool
if forTrue.contains(temp){
   myValue = true
   print("Boolean Value:", myValue)
}
else if forFalse.contains(temp){
   myValue = false
   print("Boolean Value:", myValue)
}
else{
   print("Entered value is not valid boolean value")
}

輸出

Boolean Value: true

在上面的程式碼中,我們有字串 = “TRUE”。現在我們為true和false的所有可能表示建立兩個陣列 -

var forTrue = ["true", "t", "1", "yes", "y"]
var forFalse = ["false", "f", "no", "0", “n"]

之後,我們將給定的字串轉換為小寫。現在我們使用contains()函式來檢查給定的字串是否在陣列中 -

if forTrue.contains(temp){
   myValue = true
   print("Boolean Value:", myValue)
}
else if forFalse.contains(temp){
   myValue = false
   print("Boolean Value:", myValue)
}
else{
   print("Entered value is not valid boolean value")
}

這裡我們有String = “true”,它存在於forTrue陣列中,因此我們將true賦值給myValue變數(它是bool型別)並在螢幕上列印輸出。如果輸入的值不是給定的值,則我們得到“輸入值不是有效的布林值”作為輸出。

更新於:2022年12月13日

瀏覽量:1000+

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告