2015-04-13 18 views
5

Tôi đã tạo một Playground mới và đã viết mã như sau.Làm thế nào để chuyển đổi Int sang đôi trong sân chơi Swift?

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. 

tôi đã cố gắng

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. 

Bây giờ tôi nên làm gì để gán dấu chấm động đến giá trị.

LƯU Ý: Tôi đang ở cấp độ học tập trong Swift.

Cảm ơn.

+0

thử giá trị var = 33,0 –

Trả lời

12

Khai báo var value = 33 sẽ suy ra loại giá trị là Int. Nếu bạn muốn chỉ định 33 và làm cho value làm Float hoặc Tăng gấp đôi, bạn phải khai báo loại var value : Double = 33 hoặc chuyển đổi 33 thành Double khi gán var value = Double(33).

+0

gì Nếu đầu tiên tôi gán 33 , nó sẽ là một số nguyên. và sau này tôi không thể chuyển đổi kiểu dữ liệu đó thành Double? –

+2

Không, bạn không thể chuyển đổi giá trị 'Int' thành' Double'. Swift là một ngôn ngữ được gõ tĩnh, một khi một biến có một kiểu, nó không thể thay đổi được. – bontoJR

+0

Được rồi. một thiếu mạnh trong ngôn ngữ, vẫn còn Apple nói linh hoạt của nó;) –

0

Với dòng đầu tiên

var value = 33 

bạn đã tạo một biến với các loại Int (vì 33 là một số nguyên theo nghĩa đen). Sau đó, bạn không thể chỉ định bất kỳ loại nào khác cho điều đó, chỉ Int s. Bạn nên tạo một biến khác để lưu trữ kết quả của sự hội tụ.

1

Bạn phải đặt loại dữ liệu trong khai báo biến.

var value: Double = 33 

Nhưng bạn cũng có thể làm điều đó như vậy:

var value: Double 
value = 33 

Xác định nó như là một var sẽ làm cho các biến có thể thay đổi, vì vậy sau khi xác định bạn có thể thay đổi giá trị

value = 33.2 
value = 46.1 

Nếu bạn chỉ xác định một hằng số hoặc một biến không cần phải thay đổi, tốt nhất bạn nên xác định nó như sau:

let value: Double = 33.2 

Nếu bạn cần điều này là một Int đối với bất kỳ lý do tại một số điểm bạn có thể vượt qua nó thông qua một chức năng hoặc định nghĩa nó như vậy:

let intValue = Int(value) 
Các vấn đề liên quan