Trong Access VBA, kiểu dữ liệu Single và Double đều được sử dụng để lưu trữ số thực (có dấu thập phân), nhưng chúng có một số khác biệt quan trọng về kích thước, độ chính xác và phạm vi.
Single (Single Precision Floating Point):
Kích thước: 4 byte (32 bit).
Phạm vi: Từ khoảng -3.402823E38 đến 3.402823E38 (bao gồm cả số âm và số dương).
Độ chính xác: Khoảng 7 chữ số thập phân.
Double (Double Precision Floating Point):
Kích thước: 8 byte (64 bit).
Phạm vi: Từ khoảng -1.79769313486232E308 đến 1.79769313486232E308.
Độ chính xác: Khoảng 15 chữ số thập phân.
Double có độ chính xác cao hơn Single. Do đó, nếu bạn cần lưu trữ các giá trị số thực với nhiều chữ số thập phân hoặc số rất lớn/nhỏ, bạn nên dùng kiểu Double.
Single nhanh hơn Double vì nó chiếm ít bộ nhớ hơn và xử lý toán học trên kiểu dữ liệu này thường tốn ít tài nguyên CPU hơn.
Trong các ứng dụng yêu cầu hiệu suất cao, nếu phạm vi và độ chính xác của Single là đủ, bạn nên ưu tiên dùng Single.
Single: Thường được dùng khi:
Cần tiết kiệm bộ nhớ.
Số liệu không yêu cầu độ chính xác cao (ví dụ: dữ liệu đo lường thông thường).
Double: Thường được dùng khi:
Làm việc với các phép tính phức tạp hoặc cần độ chính xác cao (ví dụ: dữ liệu khoa học, tài chính).
Ví dụ minh họa
Dim numSingle As Single
Dim numDouble As Double
numSingle = 12345.678901234 ' Giá trị sẽ được làm tròn, còn ~7 chữ số thập phân
numDouble = 12345.678901234 ' Giá trị giữ nguyên với độ chính xác cao hơn
Debug.Print "Single: " & numSingle ' Kết quả: 12345.68
Debug.Print "Double: " & numDouble ' Kết quả: 12345.678901234
Lập trình viên cần so sánh 2 kiểu Double và Single trong VBA khi làm phần mềm thực tế