Swift 当我带一个UITextField';s输入变量或UserDefault,变量/UserDefault最终为nil

Swift 当我带一个UITextField';s输入变量或UserDefault,变量/UserDefault最终为nil,swift,uitextfield,Swift,Uitextfield,当我打印.text属性时,print(inputField.text!),它会打印我输入的0.0925。但是,当我将其带到UserDefault或变量时,defaults.set(Int(inputField.text!),forKey:“taxRate”) 打印(defaults.value(forKey:“taxRate”),它打印nil。我是否可以修复此问题,以便UserDefault打印正确的值 我是个十足的白痴,我没有意识到输入的数字永远不应该是整数,应该是浮点/双精度。谢谢马特让我意

当我打印.text属性时,
print(inputField.text!)
,它会打印我输入的
0.0925
。但是,当我将其带到UserDefault或变量时,
defaults.set(Int(inputField.text!),forKey:“taxRate”)
打印(defaults.value(forKey:“taxRate”)
,它打印
nil
。我是否可以修复此问题,以便UserDefault打印正确的值


我是个十足的白痴,我没有意识到输入的数字永远不应该是整数,应该是浮点/双精度。谢谢马特让我意识到这一点。我所要做的就是将
defaults.set(Int(inputField.text!),forKey:“taxRate”)
更改为
defaults.set(Double(inputField.text!),forKey:“taxRate”)
问题在于表达式

Int(inputField.text!)

文本不是Int。某些文本可能表示Int,但您的文本“0.0925”不表示Int。所以
nil
是正确的答案,很难看出你还期望什么

我是个十足的白痴,我没有意识到输入的数字永远不应该是整数,应该是浮点/双精度。谢谢马特让我意识到这一点。我所要做的就是改变

defaults.set(Int(inputField.text!), forKey: "taxRate")


你是个了不起的人。这可能行得通,而我是个白痴
defaults.set(Double(inputField.text!), forKey: "taxRate")