2009-10-16 18 views
6

मैं कैसे सी #जावा दशमलव दशमलव के बराबर सी # समतुल्य क्या है?

DecimalFormat form 
String pattern = ""; 
for (int i = 0; i < nPlaces - nDec - 2; i++) { 
     pattern += "#"; 
} 
pattern += "0."; 
for (int i = nPlaces - nDec; i < nPlaces; i++) { 
     pattern += "0"; 
} 
form = (DecimalFormat) NumberFormat.getInstance(); 
DecimalFormatSymbols symbols = form.getDecimalFormatSymbols(); 
symbols.setDecimalSeparator('.'); 
form.setDecimalFormatSymbols(symbols); 
form.setMaximumIntegerDigits(nPlaces - nDec - 1); 
form.applyPattern(pattern); 

संपादित के लिए निम्न कोड बदल जाएगा विशेष समस्या (जैसे कुछ स्थानों का प्रयोग करेंगे ',') मैं नहीं चाहता कि दशमलव विभाजक लोकेल के साथ बदलने के लिए है।

+0

यह आसान हमारी मदद करने के लिए करता है, तो आप उच्च एल उल्लेख होगा ईवेल उद्देश्य। –

+0

क्या कोई साधारण समकक्ष नहीं है? वास्तविक उद्देश्य यह सुनिश्चित करना है कि विभिन्न स्थानों में एफपी संख्याएं '।' दशमलव विभाजक –

उत्तर

8

दशमलव विभाजक के लिए आप एक NumberFormatInfo उदाहरण में यह सेट और ToString के साथ उपयोग कर सकते हैं:

NumberFormatInfo nfi = new NumberFormatInfo(); 
    nfi.NumberDecimalSeparator = "."; 

    //** test ** 
    NumberFormatInfo nfi = new NumberFormatInfo(); 
    decimal d = 125501.0235648m; 
    nfi.NumberDecimalSeparator = "?"; 
    s = d.ToString(nfi); //--> 125501?0235648 

, अपने जावा संस्करण का परिणाम है Custom Numeric Format Strings साथ ToString() समारोह संस्करण का उपयोग करने (यानी: आप क्या कहा जाता है पैटर्न):

s = d.ToString("# ### ##0.0000", nfi);// 1245124587.23  --> 1245 124 587?2300 
             //  24587.235215 -->  24 587?2352 

System.Globalization.NumberFormatInfo

3

सी #, decimal numbers में decimal प्रकार में संग्रहीत किया जाता है, जिसमें आंतरिक प्रतिनिधित्व होता है जो आपको गोल त्रुटियों के बिना दशमलव गणित करने की अनुमति देता है।

एक बार आपके पास नंबर होने के बाद, आप format आउटपुट उद्देश्यों के लिए Decimal.ToString() का उपयोग कर सकते हैं। यह स्वरूपण लोकेल-विशिष्ट है; यह आपके current culture setting का सम्मान करता है।

+0

* नियंत्रण * प्रारूप के लिए, [दशमलव। टोस्टिंग (IFormatProvider)] का उपयोग करें (https://msdn.microsoft.com/en-us/library/3ebe5aks.aspx) – ToolmakerSteve

संबंधित मुद्दे