Numeric Type Conversion

Dùng kiểu Int cho các biến và hằng số chung chung ngay cà khi biết trước giá trị của nó là không âm. Dùng kiểu số nguyên mặc định Int giúp cho code dễ hoán chuyển hơn. Chỉ nên sử dụng các kiểu số nguyên khác khi nó đặc biệt cần thiết cho một việc cụ thể, ví dụ: đọc dữ liệu từ một nguồn với kích thức cụ thể, khi tối ưu tốc độ hoặc bộ nhớ...

Chuyển đổi kiểu số nguyên

Dải giá trị có thể được lưu bởi một số nguyên của mổi kiểu số nguyên là khác nhau. Một số Int8 có dải giá trị -128 đến 127, trong khi đó UInt8 có dải giá trị từ 0 đên 255. Khi giá trị của một số nằm ngoải dải giá trị của kiều, sẽ có lỗi biên dịch:

let cannotBeNagative: UInt8 = -1 // Lỗi biên dịch, UInt8 không thể có giá trị âm
let tooBig : Int8 = Int8.max +1 // Int8 không thể chứa giá trị lớn hơn giá trị lớn nhắt

Vì mỗi kiểu chỉ có thể chứa giá trị trong một dải nhất định, nên cần phải chuyển đổi kiều. Việc chuyển đội kiểu được viết rõ ràng trong code, Swift không tự động chuyển kiểu như một số ngôn ngữ khác. Ví dụ:

let twoThousand : UInt16 = 2_000
let one: UInt8 = 1
let twoThousandAndOne = twoThousand + UInt16(one)

Trong ví dụ trên, ta không thể cộng trực tiếp twoThousand vad one vì kiểu của chung khác nhau. Để thực hiện phép cộng, cần phải chuyển về chung một kiểu UInt16 (kiểu có dải giá trị lớn hơn). Kết quả có kiểu Uint16 vì nó là kết quá phép cộng của hai số UInt16

Cú pháp Kiểu(giá trị) là cú pháp để tạo một giá trị của kiểu với giá trị ban đầu. Trong ví dụ trên, UInt16 được khởi tạo với giá trị ban dâu là một số kiểu UInt8. Ta không thể khởi tạo UInt16 vói giá trị ban đầu bất kì, chỉ có kiểu mà UInt16 cung cấp hàm khởi tạo. Để thêm các hàm khởi tạo khác, xem Extension (need link)

Chuyển đổi số nguyên và số dấu phảy động

Chuyển đổi kiều giữa số nguyên và số dấu phảy động cần được viêt rõ ràng:

let three = 3
let pointOneFourOneFiveNine = 0.14159
let pi = Double(three) + pointOneFourOneFiveNine

Ở ví dụ trên, số 3 phải được đổi sang kiểu số dấu phảy động trước khi thực hiện phép công, nều không sẽ có lỗi biên dich.

Đổi kiểu từ số dấu phảy động sang số nguyên cũng phải được viết rõ ràng. Một số nguyển có thể được khởi tạo từ một số Double hoặc Float:

let integerPi = Int(pi)

Phần lẻ của số phẩy động sẽ bị cắt khi chuyển kiểu sang số nguyên, ví dụ: 4.75 khi chuyển sang số nguyên sẽ là 4, -3.9 khi chuyển sang số nguyên sẽ là -3

Last updated

Was this helpful?