2015-03-19 16 views
5

Xem các bài đăng khác nhau về chủ đề này nhưng vẫn không có may mắn. Có cách nào đơn giản để thực hiện phân chia/chuyển đổi khi chia đôi (hoặc Float) với Int? Đây là một ví dụ đơn giản trong việc trả lại sân chơi và lỗi "Double không thể chuyển đổi thành UInt8".Làm thế nào để tạo một bộ phận đơn giản của Double by Int trong Swift?

var score:Double = 3.00 
var length:Int = 2 // it is taken from some an array lenght and does not return decimal or float 

var result:Double = (score/length) 

Trả lời

5

Cast int tăng gấp đôi với var result:Double=(score/Double(length)) Điều này sẽ làm là trước khi tính toán phân chia nó sẽ tạo ra một biến kép mới với int bên trong ngoặc vì constructor như cú pháp.

+0

Tuyệt vời, cảm ơn :) –

1

Bạn không thể kết hợp hoặc sử dụng các loại biến khác nhau cùng nhau. Bạn cần phải chuyển đổi tất cả thành cùng loại, để có thể chia chúng lại với nhau. Cách dễ nhất tôi thấy để làm điều đó xảy ra, là làm cho Int a Double. Bạn có thể làm điều đó khá đơn giản bằng cách thêm dấu ".0" vào cuối Số nguyên bạn muốn chuyển đổi.

Ngoài ra, FYI: Nổi khá hiếm khi được sử dụng, vì vậy trừ khi bạn đang sử dụng chúng cho một cái gì đó cụ thể, nó cũng chỉ là chất lỏng hơn để sử dụng các biến phổ biến hơn.


Các vấn đề liên quan