मैं जावा के साथ तुर्की लीरास (आईएसओ 4217 मुद्रा कोड TRY) में कीमतें मुद्रित करने की कोशिश कर रहा हूं।मैं जावा में मुद्रा प्रतीकों को ओवरराइड कैसे करूं?
जब मैं
Currency curr = Currency.getInstance("TRY");
Locale trLocale = new Locale("tr", "TR");
System.out.println(curr.getSymbol(trLocale));
कर उत्पादन है: "YTL"।
हालांकि, तुर्की लीरा के लिए मुद्रा प्रतीक हाल ही में "वाईटीएल" से "टीएल" में बदल गया है (जैसा कि तुर्की लीरा के विकिपीडिया पेज पर देखा जा सकता है)। NumberFormat
के साथ स्वरूपण एक समान परिणाम देता है।
मैं वास्तव में अभी तक एक और मुद्रा वर्ग नहीं लिखना चाहता हूं, खासकर जब जावा में एक अंतर्निहित है।
क्या TRY से "टीएल" के लिए जावा के डिफ़ॉल्ट मुद्रा प्रतीक को ओवरराइड करने का कोई तरीका है?
यह तुरंत मदद नहीं करता है, लेकिन एक बग फ़ाइल करें और इसे शायद अगले जावा अपडेट में ठीक किया जाएगा। –
मुद्रा के लिए अपना खुद का रैपर बनाने के अलावा कोई रास्ता नहीं है। मुद्रा एक अंतिम कक्षा है, इसलिए इसे आपके विशिष्ट मामले के लिए getSymbol को ओवरराइड करने के लिए भी बढ़ाया नहीं जा सकता है। या तो वाईटीएल के साथ रहें और बग की रिपोर्ट करें (और उम्मीद है कि यह अगले पैच में तय हो) या अपना खुद का समाधान लागू करें। –