လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ၏ Money_Format function နှင့် setlocale ကိုမည်သို့မှန်ကန်စွာအသုံးပြုရမည်နည်း။

PHP ၏ Money_Format function နှင့် setlocale ကိုမည်သို့မှန်ကန်စွာအသုံးပြုရမည်နည်း။

gitbox 2025-09-16
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// ဤဆောင်းပါးသည်သရုပ်ပြကုဒ်သင်္ကေတအတွက်သာဖြစ်သည်,စာသား၏အကြောင်းအရာနှင့်အတူလုပ်ဖို့ဘာမှမရှိဘူး。</span></span><span>
</span><span><span class="hljs-comment">// ၎င်းကိုအသုံးပြုသောအခါအမှန်တကယ်အခြေအနေအရ၎င်းကိုချိန်ညှိပါ。</span></span><span>

</span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_MONETARY, </span><span><span class="hljs-string">'en_US.UTF-8'</span></span><span>);
</span><span><span class="hljs-variable">$amount</span></span><span> = </span><span><span class="hljs-number">1234567.89</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">money_format</span></span><span>(</span><span><span class="hljs-string">'%i'</span></span><span>, </span><span><span class="hljs-variable">$amount</span></span><span>);

</span><span><span class="hljs-meta">?&gt;</span></span><span>

---

</span><span><span class="hljs-comment"># ဘယ်လိုမှန်ကန်စွာအသုံးပြုရမလဲPHP၏money_formatလုပ်ဆောင်ချက်များနှင့်setlocaleဒေသတွင်းငွေကြေးပုံစံများကိုကိုင်တွယ်ရန် coupled?</span></span><span>

在涉及金融或电商类应用၏开发中,货币格式化是一个常见၏需求。PHP 中၏ `money_format` အလုပ်လုပ်တဲ့ညှိနှိုင်းမှု `setlocale` 可以帮助开发者根据不同၏地区设置,输出符合本地习惯၏货币字符串。မည်မှျပင်,ဤလုပ်ဆောင်ချက်နှစ်ခုကိုအသုံးပြုသောအခါအစပြုသူများသည်ရှုပ်ထွေးမှုများအချို့ကိုကြုံတွေ့ရလေ့ရှိသည်。ဤဆောင်းပါးသည်မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြရန်နှင့်ကြိုတင်ကာကွယ်မှုများပြုလုပ်နိုင်သည်。

</span><span><span class="hljs-comment">## 1. အခြေခံစည်းမျဉ်းများ</span></span><span>

- **`setlocale`**  
  用来设定程序၏区域信息(Locale),သွဇာလွှမ်းမိုးမှုနံပါတ်များ、နေ့စဲှ、ငွေကြေးနှင့်အခြား format ကိုစည်းမျဉ်းစည်းကမ်းများ。  
  常见၏设置方式为:
  ```php
  </span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_MONETARY, </span><span><span class="hljs-string">'en_US.UTF-8'</span></span><span>);
</span></span>

အထက်ပါကုဒ်သည် US English ကို အသုံးပြု. ငွေကြေးပုံစံ (UTF-8 encoding) ကိုဆိုလိုသည်။

  • Money_format
    လက်ရှိဒေသအလိုက်အရငွေကြေးတန်ဖိုးကို format လုပ်လေ့ရှိသည်။
    ဥပမာအားဖြင့်:

     <span><span><span class="hljs-variable">$amount</span></span><span> = </span><span><span class="hljs-number">1234.56</span></span><span>;
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">money_format</span></span><span>(</span><span><span class="hljs-string">'%i'</span></span><span>, </span><span><span class="hljs-variable">$amount</span></span><span>);
    </span></span>

    US Locale အောက်တွင်၎င်းသည် Output ကို USD 1234.56

2 ။ ဘုံ format ကို parameters တွေကို

Money_Format ၏ပထမဆုံး pareter သည် format control string ကိုဖြစ်သည်။ သာမန်လူများမှာ -

  • % i : ဒေသအလိုက်အရအပြည်ပြည်ဆိုင်ရာအပြည်ပြည်ဆိုင်ရာ formatice ငွေကြေး (ငွေကြေးသင်္ကေတများအပါအ 0 င်) output ကိုပြောင်းလဲခြင်း။

  • % n : ဒေသတွင်းအရရလဒ်များအနေဖြင့်ရလဒ်အနေဖြင့် National Formal Format

  • % !! N : ငွေကြေးသင်္ကေတများကိုတားမြစ်သည်။

ဥပမာ -

 <span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">money_format</span></span><span>(</span><span><span class="hljs-string">'%n'</span></span><span>, </span><span><span class="hljs-number">1234.56</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">money_format</span></span><span>(</span><span><span class="hljs-string">'%i'</span></span><span>, </span><span><span class="hljs-number">1234.56</span></span><span>);
</span></span>

3 ။ Cross-platform

အဘယ်အရာကိုသတိပြုသင့်သည် -

  • Money_Format ကို Windows ပလက်ဖောင်းများတွင်မရနိုင်ပါ ။ ၎င်းသည်အဓိကအားဖြင့် Unix ကဲ့သို့သောစနစ်များ (Linux, Macos) တွင်ထိရောက်မှုရှိသည်။

  • Windows (သို့) နောက်ပိုင်းတွင် PHP ဗားရှင်းများတွင် နံပါတ် (IntL Extension) ကိုသုံးရန်အသုံးပြုရန်အကြံပြုသည်။

ဥပမာအားဖြင့်:

 <span><span><span class="hljs-variable">$fmt</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">NumberFormatter</span></span><span>(</span><span><span class="hljs-string">'en_US'</span></span><span>, </span><span><span class="hljs-title class_">NumberFormatter</span></span><span>::</span><span><span class="hljs-variable constant_">CURRENCY</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$fmt</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">formatCurrency</span></span><span>(</span><span><span class="hljs-number">1234.56</span></span><span>, </span><span><span class="hljs-string">'USD'</span></span><span>);
</span></span>

4 ။ လက်တွေ့ကျသော application အခြေအနေများ

သင်သည်အပြည်ပြည်ဆိုင်ရာ e-commerce စနစ်ဖွံ့ဖြိုးဆဲဖြစ်ပြီးသုံးစွဲသူ၏နိုင်ငံ၏အဆိုအရမတူညီသောငွေကြေးပြသမှုနည်းလမ်းများတင်ပို့ရန်လိုအပ်သည်ဆိုပါစို့။

 <span><span><span class="hljs-variable">$locale</span></span><span> = </span><span><span class="hljs-string">'fr_FR.UTF-8'</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">setlocale</span></span><span>(LC_MONETARY, </span><span><span class="hljs-variable">$locale</span></span><span>);

</span><span><span class="hljs-variable">$amount</span></span><span> = </span><span><span class="hljs-number">987654.32</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">money_format</span></span><span>(</span><span><span class="hljs-string">'%i'</span></span><span>, </span><span><span class="hljs-variable">$amount</span></span><span>);
</span></span>

output သည်: 987 654,32 EUR (ပြင်သစ်ထုံးစံ) ဖြစ်နိုင်သည်။

5 ။ အကျဉ်းချုပ်နှင့်အကောင်းဆုံးအလေ့အကျင့်

  1. ငွေကြေး၏ဒေသဆိုင်ရာစည်းမျဉ်းများကိုထိန်းချုပ်ရန် Setlocale ကို သုံးပါ။

  2. UNIX ကဲ့သို့သောပတ်ဝန်းကျင်တွင်သင်သည်ငွေကြေးဆိုင်ရာငွေကြေးများကိုလျင်မြန်စွာထုတ်လွှင့်ရန်အတွက် money_format ကို တိုက်ရိုက်သုံးနိုင်သည်။

  3. Windows (သို့) Cross-platform ပတ် 0 န်းကျင်တွင် Intl extension ကိုအသုံးပြုရန်အတွက် ဖုန်းနံပါတ်ကို အသုံးပြုရန်အကြံပြုသည်။

  4. ဖွံ့ဖြိုးရေးစဉ်အတွင်းဒေသ၏ပျက်ကွက်မှုကြောင့် function ၏ပျက်ကွက်မှုကိုရှောင်ရှားရန်ပစ်မှတ်ပလက်ဖောင်း၏ဒေသဆိုင်ရာချိန်ညှိချက်များကိုရှင်းလင်းရန်အရေးကြီးသည်။

Money_Format နှင့် Setlocale ကို မှန်ကန်စွာကိုက်ညီခြင်းဖြင့်ကွဲပြားခြားနားသောဒေသများရှိ application ၏အသုံးပြုသူအတွေ့အကြုံကိုသိသိသာသာတိုးတက်အောင်လုပ်နိုင်သည်။