SQL Server'da Numeric(15,10)
numaralı veriyi yazabiliriz. C# 'da buna eşdeğer ne olacak?SQL Server'ın nümerik veri türü nedir? C#
Numeric
'un Decimal
eşdeğerini biliyorum ama Numeric(15,10)
nasıl temsil edilir?
SQL Server'da Numeric(15,10)
numaralı veriyi yazabiliriz. C# 'da buna eşdeğer ne olacak?SQL Server'ın nümerik veri türü nedir? C#
Numeric
'un Decimal
eşdeğerini biliyorum ama Numeric(15,10)
nasıl temsil edilir?
Doğrudan/eşdeğer bir eşdeğer yoktur, çünkü bildiğim kadarıyla açık/kesin olarak belirtmenize izin veren yerleşik .NET türü yoktur. NUMERIC gibi sabit nokta türü yok.
decimal
ve double
decimal
decimal floating point uygulamakla, .NET ortak kayan nokta türleridir (T-SQL FLOAT ve GERÇEK gibi) binary floating point davranışı uygulamak ve double
(T-SQL NUMERIC gibi). (Daha küçük bir ikili kayan nokta türü olan yanı float
var.)
Sen temsil etmek gidiyoruz hangi değerleri temelinde decimal
ve double
arasında bir seçim yapmalı - Ben genellikle "insan yapımı" yapay değerlerin düşünüyorum (özellikle para) decimal
için uygun olarak ve double
için uygun olan sürekli, doğal değerler (fiziksel boyutlar gibi).
Bu ayrımlar SQL Server türleri için de geçerli olmalıdır - 'sayısal'/'ondalık' ondalık kayan nokta türleri, 'float' ve 'gerçek' ikili kayan nokta vardır gibi bir şeyle eşleş. –
@Damien: Teşekkürler, düzenleyecektir. –
Veri türü eşlemelerine bir kılavuz olarak this site'a bakmayı deneyin. Bildiğim kadarıyla hassasiyet ve uzunluğu gibi, iki sorulara bağlı olarak iki cevaplar vardır Kendinizi format specifiers
kullanarak bu kontrol: Eğer duyarlık ve ölçeği belirlemenizi sağlar şey nedir
1). Hiçbir şey değil. Bu soru gibi ama her ihtimale karşı görünüyor: Bir ondalık kayan noktalı sayı tam belirlemenizi sağlar şey nedir
2). Bu aslında Ondalık tiptir - ancak nokta içseldir ve giriş numarasına göre 2^32 konumlarından birine ayarlanmıştır. Niçin emin değil, ama sadece 28 değer çalışır veya 2^5 - 4 ..
.Net, ondalık bir float gibi görünmesine izin verse de, kapakların altında çok farklıdır ve SQLServer'ın Ondalığı ile eşleşir. . 2 değerin ayrı bir gücü toplamı olmayan herhangi bir şey, normal ikili kayan noktayı kullanan bir tahmindir. Bu, 0,1 rakamı gibi bir şeyin bile çoktan kesilmiş olduğu anlamına gelir. Ancak Ondalık tipi ile değil.
İyi 'Decimal' yeterince iyi olmalı – V4Vendetta