2009-08-22 12 views
15

मैं जावा में नया हूं और बिगडिसीमल (उदाहरण के लिए 99 99 99 99.99) लेने की कोशिश कर रहा हूं और इसे स्ट्रिंग में परिवर्तित कर सकता हूं लेकिन दशमलव स्थान और पीछे की संख्या के बिना। साथ ही, मैं नहीं चाहता कि नंबर और राउंडिंग में कॉमा की आवश्यकता नहीं है।जावा बिगडेसिमल दशमलव और पीछे की संख्या को हटाएं

मैं कोशिश की है:

Math.Truncate(number) 

लेकिन BigDecimal समर्थित नहीं है।

कोई विचार?

बहुत बहुत धन्यवाद।

उत्तर

31

number.toBigInteger().toString()

+0

परफेक्ट, धन्यवाद। –

34

इस प्रयोग की कोशिश करो।

BigDecimal truncated= number.setScale(0,BigDecimal.ROUND_DOWN); 
4

बिगडिटेमल बिना बिगनेस के बिगइंटर है। आप बिगइंटर का उपयोग क्यों नहीं करते?

public static String convertDecimalToString (BigDecimal num){ 
    String ret = null; 
    try { 
     ret = num.toBigIntegerExact().toString(); 
    } catch (ArithmeticException e){ 
     num = num.setScale(2,BigDecimal.ROUND_UP); 
     ret = num.toPlainString(); 
    } 
    return ret; 
} 
0
private void showDoubleNo(double n) { 
    double num = n; 
    int decimalPlace = 2; 
    BigDecimal bd = new BigDecimal(num); 
    bd = bd.setScale(decimalPlace,BigDecimal.ROUND_UP); 
    System.out.println("Point is "+bd); 
} 
2

यहाँ सबसे खूबसूरत तरह से मैं इस को हल करने के लिए मिला है मैं तो बस सुनिश्चित करने के लिए इस्तेमाल किया है 'BigDecimal.ROUND_HALF_UP',, गोलाई मोड की ओर पूर्णांक बनाना "निकटतम पड़ोसी" जब तक कि दोनों पड़ोसी समतुल्य

0
public static String convertBigDecimalToString(BigDecimal bg) { 
     System.out.println("Big Decimal Value before its convertion :" + bg.setScale(2, BigDecimal.ROUND_HALF_UP)); 

     String bigDecStringValue = bg.setScale(0,BigDecimal.ROUND_HALF_UP).toPlainString(); 

     System.out.println("Big Decimal String Value after removing Decimal places is :" + bigDecStringValue); 

     return bigDecStringValue; 
} 

कृपया ध्यान दें::

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