में एक मुद्रा प्रारूप में स्ट्रिंग को स्वरूपित करना मेरे पास कुछ संख्यात्मक मान के साथ एक स्ट्रिंग है।जैस्पर रिपोर्ट
मैं इसे इस तरह प्रारूपित करना चाहता हूं जहां सैकड़ों अल्पविराम से अलग हो और संख्या से पहले $ डॉलर का संकेत हो।
उदा। 12345 $ 12,345.00
के प्रारूप में होना चाहिए मैं डॉलर चिह्न के बिना नीचे कोड की कोशिश की:
new java.text.DecimalFormat(#,##0.00).format.(myString)
और डॉलर चिह्न के साथ एक नीचे:
new java.text.DecimalFormat($ #,##0.00).format.(myString)
हालांकि, दोनों त्रुटि दे रहे हैं।
इस प्रारूप को प्राप्त करने का सही तरीका क्या है?
इस Jasper रिपोर्ट jrxml का एक हिस्सा है, जहां मैं रिपोर्ट पर "अशक्त" से बचना चाहते हैं और इस तरह नीचे कोड डालने है:
<textField isBlankWhenNull="false" isStretchWithOverflow="true">
<reportElement stretchType="RelativeToTallestObject" x="1350" y="0" width="150" height="30"/>
<textElement/>
<textFieldExpression class="java.math.BigDecimal"><![CDATA[$F{myString}!=null?new java.text.DecimalFormat(#,##0.00).format.($F{myString}):"Unavailable"]]></textFieldExpression>
</textField>
कहाँ एक प्रश्न से myString परिणाम और jrxml में घोषित किया जाता है:
<field name="myString" class="java.lang.String"/>
इससे पहले myString BigDecimal के रूप में घोषित किया गया था, लेकिन तब तुलना ऑपरेटर? = काम नहीं कर रहा था।
यदि मुद्रा मूल्य उपलब्ध नहीं है, तो मैं डिफ़ॉल्ट "शून्य" की बजाय रिपोर्ट पर "अनुपलब्ध" प्रिंट करना चाहता हूं। अन्यथा, मैं चाहता हूं कि ऊपर वर्णित अनुसार संख्या को सही रूप से स्वरूपित किया जाए।
इस समस्या को हल करने के लिए कैसे करें?
पढ़ने के लिए धन्यवाद।
एक और समाधान –
धन्यवाद एलेक्स जोड़ने के लिए, इसे बाहर की कोशिश करेंगे! – Nik
Double.valueOf त्रुटि दे रहा है " अपेक्षित" ...मैंने यह पाया - "यदि आप जैस्पर रिपोर्ट के बाहर पुस्तकालयों का उपयोग करते हैं तो आपको संकलन वर्ग पथ निर्दिष्ट करने की आवश्यकता है" --- लेकिन यह नहीं पता कि इसे कैसे प्राप्त किया जाए! –
Nik