Swift51.com
周又土 头像
周又土  2018-04-20 10:04

在UITextFeild里输入数据,这个数据怎么做加减乘除?

回复:11  查看:14759  
在UITextFeild里输入数据,这个数据怎么做加减乘除?

@IBOutlet weak var sth: UITextField!
这个sth然后关联了一个文字输入框,是输入数据然后进行加减乘除的运算,但是这个类型不知道怎么转换
各位大神谁能帮帮忙~

Swift 头像
Swift  2018-04-20 15:55
你说的是怎么把字符转为数字吧,参考下面代码:
var str = "10"
var num = Double(str)
var result = num! * 10
周又土 头像
周又土  2018-04-26 18:41
十分感谢!!!!!!!
周又土 头像
周又土  2018-04-26 18:41
@周又土
十分感谢!!!!!!!
顺便问一下这个感叹号时干啥用的?
周又土 头像
周又土  2018-04-26 18:41
@Swift
你说的是怎么把字符转为数字吧,参考下面代码:
var str = "10"
var num = Double(str)
var result = num! * 10
顺便问一下这个感叹号时干啥用的?
Swift 头像
Swift  2018-04-27 09:33
@周又土  这个!是表示强制解包,因为Double函数可能会返回空值nil,但是代码传入的是字符串10,这个是肯定不会返回nil的,所以用!强制解包。如果传入的是字母a,上面的代码是会报错的,因为a转不了数字,所以Double返回了nil。为了防止用户输入非数字,正确的写法应该是这样:
var str = "a"
//var str = 10;
if let num = Double(str) {
    let result = num * 10
    print(result)
} else {
    print("请输入数字")
}
具体资料可参见 Swift教程基础部分可选类型
周又土 头像
周又土  2018-05-04 19:30
@Swift
@周又土  这个!是表示强制解包,因为Double函数可能会返回空值nil,但是代码传入的是字符串10,这个是肯定不会返回nil的,所以用!强制解包。如果传入的是字母a,上面的代码是会报错的,因为a转不了数字,所以Double返回了nil。为了防止用户输入非数字,正确的写法应该是这样:
var str = "a"
//var str = 10;
if let num = Double(str) {
    let result = num * 10
    print(result)
} else {
    print("请输入数字")
}
具体资料可参见 Swift教程基础部分可选类型
素未相识,十分感谢!让人感受到了人间的善意!感谢!
Swift 头像
Swift  2018-05-05 10:42
客气了