سؤال

من أجل العمل مع أنواع البيانات العشرية، يجب أن أقوم بذلك بتهيئة متغير:

decimal aValue = 50.0M;

ماذا يقف جزء M ل؟

هل كانت مفيدة؟

المحلول

وهذا يعني أنه حرفي عشري، كما قال آخرون. ومع ذلك، ربما تكون الأصول ليست تلك المقترحة في مكان آخر في هذه الإجابة. من C # المعيار المشروح (إصدار ECMA، وليس إصدار MS):

ال decimal لاحقة م / م منذ أن تم أخذ D / D بالفعل doubleوبعد على الرغم من أنه اقترح أن M لتقف على المال، إلا أن بيتر جولد يتذكر أن م تم اختياره ببساطة كأفضل رسالة في decimal.

يذكر التوضيح التوضيحي مماثلة أن الإصدارات المبكرة من C # تضمنت "Y" و "S" byte و short حرفي على التوالي. انخفضوا على أساس عدم أن تكون مفيدة في كثير من الأحيان.

نصائح أخرى

M يعني عشرية. إذا لم تضيفه، فسيتم التعامل مع الرقم مزدوجا. د مزدوج.

من C # المواصفات:

var f = 0f; // single
var d = 0d; // double
var m = 0m; // decimal (money)
var u = 0u; // unsigned int
var l = 0l; // long
var ul = 0ul; // unsigned long

لاحظ أنه يمكنك استخدام الروابط الرأسمالية أو الصغيرة.

حرفي حقيقي لاحقة من قبل م أو م هو من النوع العشري. على سبيل المثال، حرفي 1M، 1.5M، 1E10M، و 123.456M كلها من النوع العشري. يتم تحويل هذا الحرفي إلى قيمة عشرية من خلال اتخاذ القيمة الدقيقة، وإذا لزم الأمر، التقريب إلى أقرب قيمة تمثيلية باستخدام تقريب Banker. يتم الاحتفاظ أي مقياس واضح في حرفية حرفية ما لم يتم تقريب القيمة أو القيمة صفرية (والتي ستكون العلبة والمقياس فيها (الحالة الأخيرة). وبالتالي، سيتم تحليل 2.900 متر حرفي لتشكيل العشرية مع علامة 0، ومعامل 2900، ومقياس 3.

المرجعي: https://msdn.microsoft.com/en-us/library/aa691085.aspx.

حسنا، أعتقد أن م تمثل المانتيسا. يمكن استخدام عشري لتوفير المال، لكن هذا لا يعني ذلك، يستخدم عشري فقط مقابل المال.

ربما يقف مقابل المال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top