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类型)并在屏幕上打印输出。如果输入的值不是给定的值,则我们得到“输入值不是有效的布尔值”作为输出。
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP