如何使用文本字段从用户获取输入值,然后使用它在Swift中执行数学函数?
我想从用户那里获取一个值,然后找到该值的正弦值。 另外,我想接受输入并将其转换为弧度。 请帮忙。
答案 0 :(得分:0)
let sinValue = sin(Double("2")!)
是如何将字符串处理为sin值
要从文本字段中获取文本,您需要以下内容:
let sinValue = sin(Double(someTextField.text)!)
但您首先要检查文本字段是否有值并验证它是否为防止崩溃的数字。
答案 1 :(得分:0)
//Initialize Textfied
var textField = UITextField(frame: CGRect(0, 0, 100, 100))
var sinNumber:Double = 0
//Now in your header (where it says class X:subclass list)
//maybe something like class Viewcontroller:UIViewController, UITextFieldDelegate
如上所述添加UITextFieldDelegate 然后,您需要添加以下函数以确定用户何时完成TextField的编辑
func textFieldDidEndEditing(textField: UITextField) {
sinNumber = getSinOfInput(textField.text)
}
func getSinOfNumber(numbers:String) {
//If numbers is NOT a string full of numbers (it has characters), it should return nil
var num = Double(numbers)
if num != nil {
//Do login here to find the sin
num = ....
return num
}
else {
return 0
}
}
答案 2 :(得分:0)
根据您的评论,您将文本字段作为IBOutlet。我添加了一个按钮来获取值:
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var label: UILabel!
@IBAction func buttonPress(sender: AnyObject) {
guard let text = textField.text, value = Double(text) else { return }
label.text = String(sin(value))
}
我使用guard
的原因是因为如果文字是nil
或者它不是Double
,那么它只会return
,没有做任何事情(这是我想要的是)。这样,您在尝试计算值时不必担心意外崩溃。