如何在Swift playground中将Int转换为Double?

6
我创建了一个新的Playground,并编写了以下代码。
var value = 33 //This will make an integer type of value variable with value 33

value = 22.44 //This doesn't execute as its assigning Double/Float value to an integer.

我尝试过。
1. 
value = Double(value)
value = 44.55 //Error here

2. 
value = Double(33.44) //Error here too.

3.
value : Double = 33.22 //Error here too.

现在我该怎么把浮点数赋值给变量呢?注意:我在学习Swift方面还处于初级阶段。谢谢。

1
尝试变量值为33.0的变量。 - Leo Dabus
3个回答

17

声明 var value = 33 将会自动推断变量类型为 Int。如果你想要将 33 赋值给一个 Float 或 Double 类型的变量 value,你需要声明变量类型为 var value : Double = 33 或者在赋值时将 33 转换成 Double 类型 var value = Double(33)


如果我先赋值为33,那么它将是一个整数。后来我无法将该数据类型转换为Double吗? - Sam Shaikh
2
不,你不能将声明的 Int 转换为 Double。Swift 是一种静态类型语言,一旦变量有了类型,就不能更改。 - bontoJR
好的亲。语言上还有很大的不足,但是苹果公司称它非常灵活 ;) - Sam Shaikh
1
你不能只是将 Double 值分配给另一个变量吗?静态语言之所以这样工作有很好的理由。 - mariop
我可以,但我正在练习,所以我想这样做... :) - Sam Shaikh

1
你必须在变量声明中设置数据类型。
var value: Double = 33

但你也可以这样做:
var value: Double
value = 33

将其定义为变量将使变量可变,因此在定义之后您可以更改值

value = 33.2
value = 46.1

如果您只是定义一个常量,或者一个不需要更改的变量,那么最好这样定义它:
let value: Double = 33.2

如果您在某个时刻需要将其作为整数处理,可以将其传递给一个函数或者像这样定义它:
let intValue = Int(value)

0

使用第一行

var value = 33

你创建了一个类型为Int的变量(因为33是整数字面量)。之后,你不能将任何其他类型赋值给它,只能是Int。你应该创建另一个变量来存储转换的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接