float
หรือถ้าคุณต้องการไปโรงเรียนเก่า:
real
คุณยังสามารถใช้โฟลต (53) แต่มันหมายถึงสิ่งเดียวกันกับโฟลต
("ของจริง" เทียบเท่ากับ float (24) ไม่ใช่ float / float (53))
ทศนิยม (x, y)ประเภท SQL Server สำหรับเมื่อคุณต้องการที่แน่นอนตัวเลขทศนิยมมากกว่าจุดลอย (ซึ่งอาจเป็นเพียงการประมาณ) ตรงกันข้ามกับชนิดข้อมูล "ทศนิยม" C # ซึ่งเหมือนกับเลขทศนิยม 128 บิต
MSSQL ของลอยชนิดเทียบเท่ากับ 64 บิตคู่พิมพ์ .NET (คำตอบเดิมของฉันจาก 2011 กล่าวว่าอาจมีความแตกต่างเล็กน้อยใน mantissa แต่ฉันได้ทดสอบในปี 2020 และพวกเขาดูเหมือนจะเข้ากันได้ 100% ในการแสดงเลขฐานสองของพวกเขาทั้งขนาดเล็กและใหญ่มาก - ดูhttps: / /dotnetfiddle.net/wLX5Oxสำหรับการทดสอบของฉัน)
เพื่อทำให้สิ่งต่าง ๆ สับสนมากขึ้น "float" ใน C # มีเพียง 32 บิตดังนั้นมันจะเทียบเท่ากับ SQL ในประเภท real / float (24) ใน MSSQL มากกว่า float / float (53)
ในกรณีการใช้งานเฉพาะของคุณ ...
ทั้งหมดที่คุณต้องการคือ 5 ตำแหน่งหลังจากจุดทศนิยมเพื่อเป็นตัวแทนละติจูดและลองจิจูดภายในความแม่นยำประมาณหนึ่งเมตรและคุณต้องการเพียงตัวเลขสามหลักก่อนจุดทศนิยมสำหรับองศา โฟลต (24) หรือทศนิยม (8,5) จะเหมาะกับความต้องการของคุณมากที่สุดใน MSSQL และการใช้โฟลตใน C # นั้นดีพอคุณไม่ต้องการสองเท่า ในความเป็นจริงผู้ใช้ของคุณอาจจะขอบคุณสำหรับการปัดเศษทศนิยม 5 ตำแหน่งแทนการมีตัวเลขที่ไม่มีนัยสำคัญมาร่วมในการเดินทาง