float
Oppure, se si vuole andare vecchia scuola:
real
È inoltre possibile utilizzare galleggiante (53), ma significa la stessa cosa di galleggiante.
("reale" è equivalente a stare a galla (24), non galleggiare/galleggiante (53).)
Il decimale (x, y) Tipo SQL Server è per quando si desidera esatto decimale numeri anziché virgola mobile (che possono essere approssimazioni). Ciò è in contrasto con il tipo di dati "decimale" C#, che è più simile a un numero in virgola mobile a 128 bit.
MSSQL galleggiante non ha esattamente la stessa precisione del 64 bit doppio tipo a .NET (leggera differenza nella mantissa IIRC), ma è un abbastanza vicino abbinare la maggior parte degli utilizzi.
Per rendere le cose più confuse, un "float" in C# è solo 32 bit, quindi sarebbe più equivalente in SQL al tipo reale/mobile (24) in MSSQL che float/float (53).
Nel tuo caso specifico uso ... Tutto ciò che serve è 5 posti dopo la virgola per rappresentare latitudine e longitudine in circa la precisione di un metro, e avete solo bisogno di fino a tre cifre prima del punto decimale per i gradi. Float (24) o decimale (8,5) si adatta meglio alle tue esigenze in MSSQL e l'uso di float in C# è abbastanza buono, non è necessario il doppio. In effetti, i tuoi utenti probabilmente ti ringrazieranno per arrotondare a 5 cifre decimali anziché avere un gruppo di cifre insignificanti che arrivano per la corsa.
Tu dici float, David dice decimale, ora sono ancora più confuso :) – Xaisoft
Sto usando il doppio in C# e questi valori saranno valori di latitudine e longitudine nelle rispettive colonne. – Xaisoft
Devo concorrere, e ammetto che ero fuori base. Sono stato introdotto al decimale nel mondo IBM DB2, in cui il decimale è un tipo di dati reale, supportato da tutti i tipi di codice e dal database su piattaforme IBM. Non che non sia un vero e proprio datatype nel mondo MS, ma non è supportato così come nel campo IBM. Ci scusiamo per aver creato confusione. – DaveN59