2010-07-21 22 views
11

Değişkenlerde yüzde değerleri tutarken, tam sayılar ve kesirler arasında tutulma arasında bir tercih vardır. Yani, 0 ve 100 arasında veya 0,00 ila 1,00 arasında değişken tutma sayıları mı olmalıdır? Her iki durumda da değerleri tutan değişken ondalık tipindedir.C#: Depolama oranları yüzdesi 50 veya 0.50?

Ben 100.

Not tam sayılar 0 olarak kaydetmesini olur etkileşim ediyorum veritabanı

: Bu değerlere gerçi aralığında 0 değerleri belirtmek için kelime "tam sayı" kullanıyorum 100 fraksiyonel bileşenler içerebilir (örneğin, 25.75). Yüzde iki değer aralığı arasındaki farkı nasıl tanımlayacağımı bilmiyorum.

cevap

25

Bunları 0 ila 1 olarak kaydetmeye eğilimliydim, daha sonra hesaplamada sayı kullanılırken herhangi bir dönüşüm gerekmez.

0 ile 100 arasında bir sayı kullanmak, sayıya bakmanın daha fazla bir görüntüleme/okuma şeklidir. Yüzdesini görüntülediğinizde, 0 ile 1 arasında bir sayı olacağını ve 0 ile 100 arasında görüntüleneceğini umacak olan String.Format("{0:P},percentage) 'u kullanabilirsiniz.

+0

2nded. 0-1 aralığındaki yüzdelerle çalışmak daha kolaydır. Eğer bir ilerleme çubuğu ya da bunun gibi bir şey çizmek istiyorsanız, normalde sadece bir başka numarayla çarpabilirsiniz, böylece gerçekten önemli bir yuvarlama hatası olmayacaktır. – mpen

+0

0-1 kesinlikle matematiği kolaylaştırır ve 0 gibi bir değer getirirseniz.2 Excel içine sadece bir yüzde olarak hücre biçimlendirmek gerekir ve% 20 –

3

Kayan nokta alanları (float, ondalık, çift) kullanıyorsanız, 50.0 ve 0.50 aynı derecede kesinlik duyar. Dolayısıyla, bu noktadan benzer tablolardaki benzer alanlara dayanarak karar verebiliyordum, tasarım birliği hissi veriyordum.

+0

Uhm ... Tam o durumda evet , ama '10.0' vs' 0.10'? Hiç aynı değil! – mpen

+0

... reaaaaally? – maxwellb

+0

@Mark: Ne işaret etmeye çalışıyorsun? Farklı depolama formları, sayıları kullanmanın farklı yollarını sağlayacaktır. – Karmastan

0

Kesirleri çok fazla matematik yapıyorsanız, Tam sayı olarak ayrı olarak pay ve payda. Yinelenen veya tekrar edilmeyen ondalık sayıları temsil etmek için kesirleri kullanırken, sahip olduğunuz daha fazla işlemi büyüten yuvarlama hataları alabilirsiniz.

Sadece numarayı saklıyor ve gösteriyorsanız, gerçekten önemli değil.

Bu numarayla hangi matematiği yapmayı planlıyorsunuz?

0

İki yüzdeyi ve 0-1'i temsil eden çiftler kullanabilirsiniz. Ancak, yüzdeyi "tam sayı" olarak kaydetmeyi seçerseniz, örneğin% 12,3'ü temsil etmek istediğinizde sizi sınırlayan tam sayıları kullanmamanızı tavsiye ederim.

0

ben ... hem ben hesaplamalar/görüntüleyen bilgi açısından anlamına aynı

vardır ... Bu önemsiz olduğunu düşünüyorum

00.50 is cool for calculations 

50.00 is cool for displaying 
+8

olarak gösterecektir Onlar, 100 bir faktör ile aynı değildir! – benPearce