float
Hoặc nếu bạn muốn đi học cũ:
real
Bạn cũng có thể sử dụng float (53), nhưng nó có nghĩa tương tự như float.
("thực" tương đương với float (24), không phải float / float (53).)
Các chữ số thập phân (x, y) kiểu SQL Server là khi bạn muốn chính xác số thập phân chứ không phải là điểm (có thể xấp xỉ) nổi. Điều này trái ngược với kiểu dữ liệu "thập phân" C #, giống như số dấu phẩy động 128 bit.
Kiểu float của MSSQL tương đương với kiểu double 64 bit trong .NET. (Câu trả lời ban đầu của tôi từ năm 2011 cho biết có thể có một chút khác biệt về mantissa, nhưng tôi đã thử nghiệm điều này vào năm 2020 và chúng dường như tương thích 100% trong biểu diễn nhị phân của cả hai số rất nhỏ và rất lớn - xem https: / /dotnetfiddle.net/wLX5Ox cho bài kiểm tra của tôi).
Để làm cho mọi thứ trở nên khó hiểu hơn, một "float" trong C # chỉ là 32 bit, do đó, nó sẽ tương đương với SQL với kiểu thực / float (24) trong MSSQL hơn là float / float (53).
Trong trường hợp sử dụng cụ thể của bạn ...
Tất cả những gì bạn cần là 5 vị trí sau dấu thập phân để biểu thị vĩ độ và kinh độ trong độ chính xác khoảng một mét và bạn chỉ cần tối đa ba chữ số trước dấu thập phân cho độ. Float (24) hoặc thập phân (8,5) sẽ phù hợp nhất với nhu cầu của bạn trong MSSQL và sử dụng float trong C # là đủ tốt, bạn không cần gấp đôi. Trên thực tế, người dùng của bạn có thể sẽ cảm ơn bạn vì đã làm tròn đến 5 chữ số thập phân thay vì có một loạt các chữ số không đáng kể xuất hiện trong chuyến đi.