So sánh 2 kiểu Double và Single trong VBA

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ế

1. Tại sần so sánh 2 kiểu dữ liệu Double và Single khi làm phần mềm Access

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.

2. Các điểm khác nhau cần nắm rõ để làm phần mềm Access tốt.

Độ lớn và kích thước bộ nhớ

    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.

Độ chính xác

    Double độ 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.

Hiệu suất

    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.

Ứng dụng

    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



    Dùng Single khi độ chính xác khoảng 7 chữ số là đủ.
    Dùng Double khi cần độ chính xác cao hơn hoặc làm việc với phạm vi giá trị lớn hơn.

Bài viết liên quan:

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ế