दशमलव प्रकार के लिए घोषणा प्रत्यय


113

यदि मैं कोड में दशमलव शाब्दिक का उपयोग करना चाहता हूं, तो मैंने देखा है कि एम-प्रत्यय (जहां एम पैसे के लिए खड़ा है) मौजूद है। क्या यह किसी भी दशमलव के लिए उपयुक्त है या अधिक सामान्य असाइनमेंट है (d का मतलब डबल है, यह सुनिश्चित करने के लिए सही नहीं है कि हालांकि एक सीधा रूपांतरण समर्थित है)।

object decimalValue=2m;

कृपया ध्यान दें, मैंने उदाहरण के रूप में ऑब्जेक्ट-असाइनमेंट लिया, क्योंकि इस मामले में ...

decimal decimalValue=2;

... यह स्पष्ट रूप से स्पष्ट है कि 2 को संकलक के माध्यम से दशमलव के रूप में समझा जाना चाहिए।

m ठीक लगता है, msdn इसे दशमलव प्रकार के लिए उदाहरण के रूप में उपयोग करता है।

जवाबों:


234

C # भाषा विनिर्देशन में प्रलेखित , अध्याय 2.4.4:

float f = 1.2f;
double d = 1.2d;
uint u = 2u;
long l = 2L;
ulong ul = 2UL;
decimal m = 2m;

इंट, बाइट, सोबते, शॉर्ट, यूथॉर्ट के लिए कुछ भी नहीं।


जबकि एक प्रत्यय नहीं है, हम चरित्र के char c = 'a'आसपास एपोस्ट्रोफ का उपयोग करने के साथ एक चरित्र भी घोषित कर सकते हैं ।
केविन हॉग

आप इस डॉक्टर को भी देख सकते हैं, जो अधिक उपयोगकर्ता के अनुकूल है: docs.microsoft.com/en-us/dotnet/csharp/language-reference/…
डगलस गास्केल

22

एक प्रत्यय के बिना, एक संख्यात्मक वास्तविक शाब्दिक एक डबल होगा। एम प्रत्यय निर्दिष्ट करता है कि एक संख्यात्मक वास्तविक शाब्दिक दशमलव होना चाहिए।

यह जानना महत्वपूर्ण है, क्योंकि फ्लोटिंग पॉइंट वैल्यूज़ (जैसे डबल) पर अंकगणित अभेद्य है। उदाहरण के लिए:

object decimalValue=(5.32 + 2.23);

यहां, दशमलववैल्यू में वास्तव में एक डबल होगा, जिसमें अप्रत्याशित मान 7.5500000000000000007 होगा! अगर मुझे 7.55 चाहिए, तो मैं यह कर सकता हूं:

object decimalValue=(5.32m + 2.23m);

आपके प्रश्न का उत्तर देने के लिए कि क्या अधिक सामान्य प्रत्यय है, m केवल C में दशमलव के लिए प्रत्यय है। जैसा कि आपने उल्लेख किया है, यह पैसे के लिए खड़ा हो सकता है, लेकिन उन्होंने d के अलावा किसी और चीज़ का उपयोग किया था, क्योंकि यह डबल द्वारा उपयोग किया जाता है!

आगे पढ़ने: दशमलव (सी # संदर्भ)


1
धन्यवाद, मैंने देखा है और अपने प्रश्न में एमएसडीएन-लिंक डाल दिया है जैसे आपने अपना उत्तर दर्ज किया है। हालांकि मैंने हंस पैसेंट के पद को स्वीकार कर लिया क्योंकि एक अच्छी सूची है जो उन लोगों को बहुत मदद करेगी जो प्रत्ययों के कारण इस पद पर आएंगे। लेकिन निश्चित रूप से धन्यवाद।
HCL

0

डिक्लेयर डिक्लेयर टू सी #

decimal firstMoney = 141.28m;

ओ / पी: 141.28

decimal secondMoney = 100.00m;

ओ / पी: 100

अधिक MSDN के लिए

आशा किसी की मदद करती है।


@ थोमस, मैं समझता हूं, लेकिन मैंने सिर्फ दशमलव घोषित करने वालों के लिए संक्षिप्त उत्तर देने की कोशिश की, क्या मुझे पोस्ट को हटा देना चाहिए? , आपको लगता है कि यह उपयोगी नहीं है?
शैजुत

3
मैं इसे उपयोगी नहीं के रूप में देखता हूं, लेकिन मैं परिपूर्ण हूं और यह दूसरों की मदद कर सकता है। अगर, दूसरे रीड में आपको यह उपयोगी नहीं लगता है, तो आप इसे हटा सकते हैं। अगर आपको लगता है कि यह किसी की मदद करेगा, तो इसे छोड़ दें:
थॉमस अय्यूब

2
@ThomasAyoub व्यक्तिगत रूप से, यह मत देखिए कि यह क्या कहता है कि हंस जवाब पहले से ही कवर नहीं करता है।
लंकिमार्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.