Khác nhau giữa decimal, float và double trong .NET

Khác nhau giữa decimal, float và double trong .NET

Mọi người cho em hỏi các kiểu dữ liệu decimalfloat và double trong .NET khác nhau như thế nào?

    Guest

    - 1970/01/01 Trả lời

    Về độ chính xác:

    float flt = 1F/3;
    double dbl = 1D/3;
    decimal dcm = 1M/3;
    Console.WriteLine("float: {0} double: {1} decimal: {2}", flt, dbl, dcm);

    Kết quả:

    float: 0.3333333  
    double: 0.333333333333333  
    decimal: 0.3333333333333333333333333333

    Về phạm vi giá trị

    float:    -3.402823e38          -> 3.402823e38
    double:   -1.79769313486232e308 -> 1.79769313486232e308
    decimal:  ±1.0 × 10e−28         -> ±7.9 × 10e28

    Về tốc độ xử lý (nhanh hơn đứng trước)

    float > double > decimal

    Về ứng dụng:

    • float/double được sử dụng trong các phép tính toán số thực thông thường
    • decimal được sử dụng để tính toán các ứng dụng tiền tệ (vì độ chính xác cao và phạm vi giá trị lớn)

10 bình luận