当我打印.text属性print(inputField.text!)
时,它会打印0.0925
,这是我输入的内容。但是,当我将其带到UserDefault或变量
defaults.set(Int(inputField.text!), forKey: "taxRate")
print(defaults.value(forKey: "taxRate"))
时,它会显示nil
。无论如何,我可以解决这个问题,以便UserDefault打印正确的值吗?
我是一个笨蛋,我没有意识到输入的数字永远不能是整数,而应该是浮点数/双精度数。谢谢马特让我意识到这一点。我要做的就是将defaults.set(Int(inputField.text!), forKey: "taxRate")
更改为defaults.set(Double(inputField.text!), forKey: "taxRate")
。
答案 0 :(得分:0)
问题在于表达式
Int(inputField.text!)
文本不是Int。某些文本可能表示一个Int,但您的文本“ 0.0925”却没有。因此,nil
是正确的答案,很难看出您还有什么期望。
答案 1 :(得分:0)
我是个笨蛋,我没有意识到输入的数字永远不能是整数,而应该是浮点数/双精度数。谢谢马特让我意识到这一点。我要做的就是改变
defaults.set(Int(inputField.text!), forKey: "taxRate")
到
defaults.set(Double(inputField.text!), forKey: "taxRate").