के NumberFormatter
के साथ पैसे फ़ॉर्मेट करने के लिए कोड के सरल टुकड़ा साथ शुरू करते हैं:पीएचपी
$formatter = new NumberFormatter('en_US', NumberFormatter::CURRENCY);
echo $formatter->formatCurrency(123456789, 'JPY');
यह प्रिंट: ¥123,456,789
।
यह ठीक है अगर आप पैसे प्रारूपित करना चाहते हैं।
लेकिन मैं जो करना चाहता हूं वह मुद्रा मुद्रा आईएसओ 4217 कोड (जैसे जेपीवाय) के लिए मुद्रा प्रतीक (उदा। ¥) प्राप्त करना है।
मेरा पहला अनुमान का उपयोग कर प्रयास करने के लिए किया गया था:
$formatter->getSymbol(NumberFormatter::CURRENCY_SYMBOL);
लेकिन वह (en_US) निर्माता में दिए गए स्थान के लिए मुद्रा प्रतीक, मेरे मामले में $ देता है।
क्या PHP में मुद्रा आईएसओ 4217 कोड द्वारा मुद्रा प्रतीक प्राप्त करने का कोई तरीका है?
समस्या यह है कि मुद्रा प्रतीक संख्या के पहले या बाद में दिखाई दे सकता है। आप किस प्रतीक का उपयोग कर रहे हैं? –
बस किसी भी चीज के लिए रेगेक्स करें जो अंक या अल्पविराम नहीं है। कुछ '/ [^ 0-9,] */'की तरह कुछ। – rmobis
कुछ प्रतीकों बहु-बाइट होंगे इसलिए एक साधारण स्ट्रिंग खोज बहुत अच्छी तरह से काम नहीं करेगी। –