2016-07-05 11 views
19

C++ में आप अक्षर लोप के साथ अपने कोड में पठनीयता के लिए अंक अलग कर सकते हैं:अलग अंक

int num = 1'000'000; 

रूबी में, आप अंडरस्कोर का उपयोग कर सकते हैं:

num = 1_000_000 

वहाँ है सी # के लिए एक समान वाक्यविन्यास? मैंने कुछ अलग खोजों की कोशिश की लेकिन केवल एक विशेष प्रारूप में संख्याओं को आउटपुट करने या पढ़ने के परिणामों के साथ आया।

+3

मैं बहुत यकीन है कि अंडरस्कोर अवधारणा सी # 6 में आंशिक रूप से लागू/आंशिक रूप से कार्यान्वित किया गया था, लेकिन इसे रिलीज़ नहीं किया गया। – Jonesopolis

+0

मुझे पता है कि यह बदसूरत है लेकिन 'int num = 1000000; // 1,000,000' चाल या यहां तक ​​कि 'int num = 1000000; आपके सटीक उदाहरण के लिए // एक मिलियन'। – MonkeyZeus

+1

मैं सी # लड़का नहीं हूं लेकिन कोड में गैर-तुच्छ संख्यात्मक अक्षरों के लिए एक सामान्य विचलन है, फ़ाइल के शीर्ष पर 'const int ONE_MILLION = 1000000;' (या फिर आप कहते हैं कि सी # में) के बारे में कैसे? –

उत्तर

28

जब तक यह उत्तर लिखा गया है, यह सुविधा सी # में मौजूद नहीं है। हालांकि, इसके लिए feature request है, और ऐसा लगता है कि यह सी # 7 का हिस्सा होगा, जो आगामी संस्करण है।

सुविधा अनुरोध उनके C# 7 list of features पर सूचीबद्ध है, लेकिन आपको शायद 100% मानना ​​नहीं चाहिए कि यह इसे बना देगा। चीजें बदल सकती हैं।

+1

ऐसा लगता है कि इसे विजुअल स्टूडियो 2017 के लिए सी # 7 में कार्यान्वित किया गया है। आप 'int million = 1_000_000;' – Shaun

1

इस दौरान, आप अभी भी यह कर सकते हैं:

int num = Int32.Parse("1,000,000", NumberStyles.AllowThousands); 
+3

कर सकते हैं इसका अर्थ है C++ और रूबी संस्करणों की तुलना में एक बहुत ही अलग चीज। क्यों न केवल उस बिंदु पर एक टिप्पणी का उपयोग करें? 'int num = 1000000 // 1,000,000' –

+5

@AssortedTrailmix फिर टिप्पणी और कोड सिंक से बाहर नहीं हो सकता है। –

+3

तब किसी ने किसी दिन वर्तमान संस्कृति को बदल दिया है और कार्यक्रम में पार्स किए गए नंबर अब भी उतने ही नहीं हैं! यदि आप वास्तव में इस तरह से संख्या को पार्स करना चाहते हैं, तो आपको तीसरे पैरामीटर के रूप में 'CultureInfo.InvariantCulture'' जोड़ना चाहिए, क्योंकि यदि आप इसे एक बार भी भूल जाते हैं, तो यह आपको जला देगा! – Shautieh

0

इस पूर्णांक के साथ मदद नहीं करेगा, लेकिन दशमलव के साथ आप का उपयोग कर सकते हैं:

decimal num1 = 1E06M; // 1000000 
decimal num2 = 1.23e06m; // 1230000