सी # का उपयोग कर दो दशमलव स्थान

decimal Debitvalue = 1156.547m;

decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:0.00}", Debitvalue));

मुझे केवल दो दशमलव स्थान प्राप्त करना है लेकिन इस कोड का उपयोग करके मुझे 1156.547 मिल रहा है। मुझे बताएं कि मुझे दो दशमलव स्थानों को प्रदर्शित करने के लिए किस प्रारूप का उपयोग करना है।

36
जोड़ा संपादित
विचारों: 1
गणित। राउंड काम करेगा और आपका कोड भी काम करेगा। मैंने आपके कोड के साथ परीक्षण किया और यह ठीक दशमलव डेबिटवेल्यू = कनवर्ट किया। टोडडिमल ("1156.547"); दशमलव DEBITAMT = कनवर्ट करें। ToDecimal (string.Format ("{0: 0.00}", डेबिटवल्यू)); Console.WriteLine (DEBITAMT);
जोड़ा लेखक Anand, स्रोत
हाँ, आपका सही, धन्यवाद!
जोड़ा लेखक Kiran Reddy, स्रोत

10 उत्तर

आपका प्रश्न दो दशमलव स्थानों को प्रदर्शित करने के लिए कह रहा है। निम्नलिखित String.format का उपयोग करने में मदद मिलेगी:

String.Format("{0:.##}", Debitvalue)

यह तब संख्या को केवल दो दशमलव स्थानों के साथ प्रदर्शित करेगा।

या यदि आप चाहते हैं कि मुद्रा प्रतीक प्रदर्शित निम्नलिखित का उपयोग करें:

String.Format("{0:C}", Debitvalue)
44
जोड़ा
यह वास्तव में काम नहीं कर रहा है। यह 4.9 8 9 से 5 के आसपास होगा लेकिन ओपी 2 दशमलव के रूप में 2 दशमलव होना चाहता है
जोड़ा लेखक batmaci, स्रोत
असल में, पहले प्रारूप में प्रारूप "{0: .00}" होगा, अगर वह 2.10 दिखाना चाहता था। ## के साथ यह 2.1 होगा।
जोड़ा लेखक SvendK, स्रोत

दो दशमलव स्थानों पर घूमने के लिए Math.Round() का उपयोग करें

decimal DEBITAMT = Math.Round(1156.547m, 2);
40
जोड़ा

If you want to round the decimal, look at Math.Round()

27
जोड़ा
@ ड्रैगन - क्योंकि किसी संख्या को एक स्ट्रिंग में कनवर्ट करना और किसी नंबर पर वापस कोड-गंध है।
जोड़ा लेखक cjk, स्रोत
यह कनवर्ट क्यों नहीं करें। ToDecimal (string.Format ("{0: F2}", Debitvalue)) ;, जब हम पहले से कोड में convert.todecimal का उपयोग कर रहे हैं।
जोड़ा लेखक Dragon, स्रोत
ओह केके..तो मैं इस Math.round (Convert.todecimal (val), 2) की तरह उपयोग करूंगा ..
जोड़ा लेखक Dragon, स्रोत

मैं का उपयोग करता हूं

decimal Debitvalue = 1156.547m;
decimal DEBITAMT = Convert.ToDecimal(string.Format("{0:F2}", Debitvalue));
16
जोड़ा

यहाँ एक और दृष्टिकोण है

decimal decimalRounded = Decimal.Parse(Debitvalue.ToString("0.00"));
14
जोड़ा

सबसे अच्छा तरीका यदि आप हमेशा दो दशमलव स्थानों को दिखाना चाहते हैं (भले ही आपके नंबर में केवल एक दशमलव स्थान है) का उपयोग करना है

yournumber.ToString("0.00");
9
जोड़ा

केवल प्रदर्शित करने के लिए, स्ट्रिंग की संपत्ति का उपयोग निम्नानुसार किया जा सकता है ..

double value = 123.456789;
String.Format("{0:0.00}", value);

System.Math.Round का उपयोग करना। यह मान दूसरों को सौंपा जा सकता है या आवश्यकतानुसार छेड़छाड़ की जा सकती है ..

double value = 123.456789;
System.Math.Round(value, 2);
9
जोड़ा

दूसरा रास्ता :

दशमलव। राउंड (दशमलव, 2, MidpointRounding.AwayFromZero);

3
जोड़ा

Another option is to use the Decimal.Round Method

2
जोड़ा

शायद अन्य उदाहरणों का एक संस्करण, लेकिन मैं यह सुनिश्चित करने के लिए इस विधि का उपयोग करता हूं कि एक बिंदु को दशमलव स्थानों से पहले दिखाया गया हो, न कि अल्पविराम:

someValue.ToString ("0.00", CultureInfo.InvariantCulture)

2
जोड़ा