iOS-无法将“ Double”类型的值分配为“ Float”类型

时间:2019-01-17 19:20:49

标签: ios swift constants

我在声明和使用常量的变量类型方面遇到麻烦。

let MAX_RADIUS_IN_MILE = 100.0

radiusSlider.maximumValue = MAX_RADIUS_IN_MILE

在这种情况下,我得到一个错误-Cannot assign value of type 'Double' to type 'Float'

我不想用这样的类型定义let MAX_RADIUS_IN_MILE: Float = 100.0声明一个常量,但只想知道另一种使该常量成为Float的聪明方法。

有什么主意吗?

例如,C#为此提供了解决方案。

1 个答案:

答案 0 :(得分:2)

首先,使用camelCase在Swift中进行命名。 lowerCamelCase用于常量/变量/函数,而UpperCamelCase用于类型(类,...)

  

MAX_RADIUS_IN_MILE -> maxRadiusInMile


现在解决您的问题。错误很明显,您具有类型为Double的常量(如果您未指定十进制数字的类型,则编译器将其指定为类型Double),但是分配maximumValue则需要类型{{1} }。现在怎么办?

如果您需要常量类型为Float的一种解决方案是:将常量类型指定为Float

Float

无论如何,如果您只需要此常数来分配一个值,则可以直接分配它

let maxRadiusInMile: Float = 100
let maxRadiusInMile = Float(100)

如果出于某种原因需要常量类型为radiusSlider.maximumValue = 100 ,则可以使用设计的初始值设定项将类型Double的常量转换为Double

Float