Floating point 找不到'*';它接受提供的参数

Floating point 找不到'*';它接受提供的参数,floating-point,integer,double,swift,multiplication,Floating Point,Integer,Double,Swift,Multiplication,我使用toInt()将字符串转换为Int。然后,我尝试将其乘以0.01,但出现了一个错误,即找不到接受所提供参数的“*”的重载。以下是我的代码: var str: Int = 0 var pennyCount = 0.00 str = pennyTextField.text.toInt()! pennyCount = str * 0.01 从阅读其他帖子来看,答案似乎与类型有关。例如,如果将类型设置为整数,则会出现类似的错误。我曾尝试将类型更改为Int,但这似乎无法解决问题 我还尝试将“st

我使用
toInt()
字符串转换为
Int
。然后,我尝试将其乘以0.01,但出现了一个错误,即
找不到接受所提供参数的“*”的重载。
以下是我的代码:

var str: Int = 0
var pennyCount = 0.00

str = pennyTextField.text.toInt()!
pennyCount = str * 0.01
从阅读其他帖子来看,答案似乎与类型有关。例如,如果将类型设置为整数,则会出现类似的错误。我曾尝试将类型更改为Int,但这似乎无法解决问题

我还尝试将“str”和“pennyCount”的类型设置为
浮动
双精度
,以及
浮动
双精度
整数的所有组合。我猜问题与
toInt()
函数将
字符串
转换为
整数有关


是否有人可以帮助澄清问题所在?

斯威夫特似乎对隐含类型转换相当挑剔,因此在您的示例中,您将str(一个整数)乘以0.01(一个双精度),因此要解决此错误,您需要如下转换:

var str: Int = 0
var pennyCount = 0.00
str = pennyTextField.text.toInt()!
pennyCount = Double(str) * 0.01