Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

So sánh double và float trong C#

Khác biệt chính là độ chính xác (precision).

Đặc điểmfloatdouble
KiểuSingle precision (32-bit)Double precision (64-bit)
Khoảng giá trị±3.4 × 10³⁸±1.7 × 10³⁰⁸
Độ chính xác~7 chữ số~15-17 chữ số
Giá trị mặc định0.0F0.0D
Hậu tố literalF/fD/d (mặc định)
Kích thước4 bytes8 bytes

Ví dụ:

float f = 3.14F;
double d = 3.14; // hoặc 3.14D

// So sánh
Console.WriteLine(f == d); // False! Do precision khác nhau
Console.WriteLine((double)f == d); // True sau khi cast

Khi nào dùng nào:

  • float: Tiết kiệm memory, đồ họa, game, sensor data, không cần độ chính xác cao
  • double: Mặc định cho tính toán thực, khoa học, tài chính (dùng decimal cho tiền)
  • decimal: 128-bit, 28-29 chữ số, cho tiền tệ, tài chính chính xác