我已使用String
将Int
转换为toInt()
。然后我尝试将它乘以0.01,但我得到一个错误,上面写着Could not find an overload for '*' that accepts the supplied argument.
这是我的代码:
var str: Int = 0
var pennyCount = 0.00
str = pennyTextField.text.toInt()!
pennyCount = str * 0.01
从阅读其他帖子看,答案似乎与该类型有关。例如,如果将类型设置为Integer,则会出现类似的错误。我已经尝试将类型更改为Int,但这似乎无法解决问题。
我还尝试将'str'和'pennyCount'的类型设置为Floats
和Doubles
以及Floats
,Doubles
和{{1}的所有组合}}。我的猜测是问题与Ints
函数将toInt()
转换为String
有关。
有人可以帮助澄清问题所在吗?
答案 0 :(得分:13)
Swift似乎对隐含类型转换相当挑剔,所以在你的例子中你将str(一个整数)乘以0.01(一个Double)以便解决错误,你需要像这样抛出它: / p>
var str: Int = 0
var pennyCount = 0.00
str = pennyTextField.text.toInt()!
pennyCount = Double(str) * 0.01