में से अधिक दो अनुगामी शून्य ट्रिम एक BigDecimal के लिए दो से अधिक अनुगामी शून्य ट्रिम करने के लिए साथ हीBigDecimal
तो 1.2200 प्रिंट 1.22 और 1.0000 मुद्रित होगा 1.00
संपादित हैं एक अच्छा तरीका हो सकता है क्या 1.222200 1.2222 और १.२२,००,००,००१ १.२२,००,००,००१ आदि के रूप में के रूप में वापस जाने के लिए तो पहले दो शून्य अनदेखी मैं किसी भी भेजे 0s ट्रिम करने के लिए और ट्रिम नहीं गैर शून्य चाहते महत्व देता
एक तरह से गुणा करने के लिए, तो ट्रिम अनुगामी में बनाया लागू किया जा सकता है शून्य और फिर 100 से विभाजित करें। यह कोने के मामलों के साथ समस्याग्रस्त हो सकता है लेकिन मेरी समस्या में मूल्य मुद्रा आधारित हैं और जावा द्वारा निर्धारित सीमाओं से अधिक नहीं होंगे (या फिर इसका मतलब है कि मेरा सॉफ़्टवेयर बोलियों से निपट रहा है जो डॉलर के गैज़िलियन में हैं)
बदसूरत समाधान folows रूप
System.out.println(((new BigDecimal("1.230223000")
.multiply(new BigDecimal("100.0"))
.stripTrailingZeros()).divide(new BigDecimal("100.0"))));
टिप्पणी अपने मूल लोगों के साथ है कि आपका नया आवश्यकताओं संघर्ष:
अन्यथा, इस का उपयोग कैसे '' 1.230223' में तब्दील किया जा 1.230223000' सकते हैं, लेकिन '' 1.0000' 1.00' मुद्रित करना चाहिए? –
नहीं वे जोआचिम नहीं करते हैं। दोबारा पढ़ें। मैं ट्रिमिंग के लिए दशमलव के बाद पहले दो शून्यों को अनदेखा करना चाहता हूं। और इनपुट हमेशा कम से कम x.xx प्रकार – geoaxis
हाँ होगा, मुझे एहसास हुआ कि मैंने अपनी टिप्पणी पोस्ट करने के बाद। क्या मेरा (अपडेटेड) उत्तर मदद करता है? –