Yanıtlar:
Diğerlerinin söylediği gibi, ondalık bir değişmez anlamına gelir. Bununla birlikte, kökenleri muhtemelen bu cevabın başka bir yerinde önerilenler değildir. Gönderen C # Açıklamalı Standardı (ECMA sürümü değil, MS sürümü):
decimal
Eki A / G / D daha önce tarafından alındıktan sonra mdouble
. M'nin para anlamına geldiği öne sürülmesine rağmen, Peter Golde, M'nin sadece bir sonraki en iyi mektup olarak seçildiğini hatırlıyordecimal
.
Benzer bir açıklama, C # 'ın ilk versiyonlarının sırasıyla byte
ve short
değişmez değerler için "Y" ve "S" içerdiğinden bahseder . Çok sık yararlı olmama gerekçesiyle düşürüldüler.
C # özelliklerinden:
var f = 0f; // float
var d = 0d; // double
var m = 0m; // decimal (money)
var u = 0u; // unsigned int
var l = 0l; // long
var ul = 0ul; // unsigned long
Büyük veya küçük harfli gösterim kullanabileceğinizi unutmayın.
M, "ondalık" ifadesindeki ilk belirsiz karakter anlamına gelir. Eğer eklemezseniz, sayı çift olarak kabul edilecektir.
D çifttir.
0.42
ondalık sayıya dökülmesi size farklı bir değer verebilir 0.42M
(ve bir kayan değişmez yerine çift bir literal kullanmak için aynıdır - float val = 423.3
ayrıca başarısız olur). Bu yüzden, yanlış bir davranış ve düzeltilmesi yarım saniye süren ve CLR ve C # standartlarına uyan bir derleyici hatası arasında seçim yapıyorsunuz.
M veya m ile sonlandırılmış gerçek bir değişmez ondalık türündedir. Örneğin, 1m, 1.5m, 1e10m ve 123.456M değişmezlerinin tümü ondalık tiptedir. Bu değişmez değer, tam değer alınarak ve gerekirse bankacının yuvarlanması kullanılarak temsil edilebilir en yakın değere yuvarlanarak ondalık bir değere dönüştürülür. Değer yuvarlanmadıkça veya değer sıfır olmadığı sürece değişmezde görünen herhangi bir ölçek korunur (bu durumda işaret ve ölçek 0 olacaktır). Böylece, 2.900m değişmez değeri, 0 işareti, 2900 katsayısı ve ölçek 3 ile ondalık sayı oluşturmak üzere ayrıştırılacaktır.
Sanırım M mantis'i temsil ediyor. Ondalık para kazanmak için kullanılabilir, ancak ondalık yalnızca para için kullanılır anlamına gelmez.