လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Setlocale () နံပါတ် formating ချိန်ညှိခြင်းအတွက်လေ့ကျင့်ခြင်းနှင့်ကျွမ်းကျင်မှု

Setlocale () နံပါတ် formating ချိန်ညှိခြင်းအတွက်လေ့ကျင့်ခြင်းနှင့်ကျွမ်းကျင်မှု

gitbox 2025-06-03

PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကွဲပြားခြားနားသောဒေသများ၏အကျင့်များအရနံပါတ်များကိုပုံစံအမျိုးမျိုး, PHP သည် Setlocale () function ကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် Setlocale () ကို setnumber formatats များနှင့်ဆက်စပ်သောပုံစံထိန်းချုပ်နည်းစနစ်များနှင့်လက်တွေ့ကျသောဥပမာများနှင့်သက်ဆိုင်သည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။


1 ။ setlocale () ?

Setlocale () သည် PHP တွင်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်းသည်သတ်မှတ်ထားသောဒေသဆိုင်ရာစည်းမျဉ်းများအရရလဒ်ကို output ကို format လုပ်ရန်ခွင့်ပြုထားသောနံပါတ်များ, ငွေကြေးနှင့်အချိန်များနှင့်အချိန်များကိုပြသနိုင်သည့် display format ပုံစံကိုသက်ရောက်စေသည်။

function ရှေ့ပြေးပုံစံ:

 setlocale(int $category, string|array $locale): string|false
  • $ အမျိုးအစား - lc_numeric (numeric format), lc_cesterary (ငွေကြေးပုံစံ), lc_time format (ငွေကြေးပုံစံ), lc_time format နဲ့ (ငွေကြေးပုံစံ),

  • $ locale - zh_cn.utf-8 , en_us.utf-8 စသည့်ဒေသဘာသာစကားကုဒ်ကိုသတ်မှတ်ပါ။


2 ။ setlocale ကိုအသုံးပြုပြီးနံပါတ်အမျိုးအစားကိုဘယ်လိုသတ်မှတ်ရမလဲ။

ပုံမှန်အားဖြင့် Php ၏ Numeric format သည်အချို့သောဒေသများရှိအချို့သောဒေသများရှိအသေးစိတ်အချက်အလက်များနှင့်မကိုက်ညီပါ ထောင်တစ်ထောင်ခွဲတာက ဤပုံစံများကိုသင်ညှိလိုပါက Setlocale () ကို သုံးရန်လိုအပ်သည်။

ဥပမာ - တရုတ်ပတ်ဝန်းကျင်ကိုသတ်မှတ်ပြီးဒီဂျစ်တယ်ပုံစံကိုညှိပါ

 <?php
// နံပါတ်အမျိုးအစားကိုတရုတ်ပတ်ဝန်းကျင်သို့သတ်မှတ်ပါ
setlocale(LC_NUMERIC, 'zh_CN.UTF-8');

// ဒီဂျစ်တယ်ပုံစံကိုစမ်းသပ်ပါ
$number = 1234567.89;

// အသုံးပြု number_format() နံပါတ်များ
echo number_format($number, 2, ',', ' ');
?>

အထက်ပါဥပမာ -

  • Setlocale မှတဆင့်ဒီဂျစ်တယ် format စုပတ် 0 န်းကျင်ကိုသတ်မှတ်ပါ။

  • Decimal Point နှင့်ထောင်ပေါင်းများစွာသော Separator အက္ခရာများကို နံပါတ် (_Format) နှင့်အတူစိတ်ကြိုက်ပြင်ဆင်ပါ။

သတိပြုသင့်သည် (LC_NUMERUCHER) ၏ပံ့ပိုးမှု (LC_NUMERUCUIC, ... ) ကွဲပြားခြားနားသောစနစ်များနှင့် PHP ဗားရှင်းများအပေါ်ကွဲပြားနိုင်သည်။ 0 င်းဒိုးနှင့် Linux ပတ် 0 န်းကျင်ရှိရရှိနိုင်သည့်ဘာသာစကားကုဒ်များသည်အတိအကျမတူပါ။


3 ။ localeconv () ကိုပေါင်းစပ်ခြင်း () ဒေသတွင်းကိန်းဂဏန်းပုံစံသတ်မှတ်ချက်များကိုရရှိရန်

PHP တွင် function localeconv () PHP တွင်လက်ရှိ Smollocale () ပတ် 0 န်းကျင်ရှိနံပါတ်များကိုပြန်လည်ပတ်မှု, ထောင်ပေါင်းများစွာသောသင်္ကေတများ,

ဥပမာ -

 <?php
// ဂျာမန် to ရိယာကိုသတ်မှတ်ပါ(ဂျာမနီ)
setlocale(LC_ALL, 'de_DE.UTF-8');

// လက်ရှိ localized format အချက်အလက်ကိုရယူပါ
$locale_info = localeconv();

$number = 1234567.89;

echo "Decimal point: " . $locale_info['decimal_point'] . "\n";
echo "Thousands separator: " . $locale_info['thousands_sep'] . "\n";

// အသုံးပြု locale 信息နံပါတ်များ
echo number_format(
    $number,
    2,
    $locale_info['decimal_point'],
    $locale_info['thousands_sep']
);
?>

ထုတ်လုပ်မှု -

 Decimal point: ,
Thousands separator: .
1.234.567,89

ဤဥပမာတွင်ဒ decimal အချက်များအတွက်အသုံးပြုသောဂျာမန်နံပါတ်ပုံစံနှင့်ကြိတ်စက်များအတွက်အသုံးပြုသည် ဂျာမန်အကောက်ခွန်နှင့်အညီ။


4 ။ လက်တွေ့ကျွမ်းကျင်မှု

  1. တိကျသော area ရိယာကုဒ်များကိုသတ်မှတ်ရန် ဦး စားပေး ကွဲပြားခြားနားသော operating systems မှထောက်ပံ့သောဒေသများကွဲပြားခြားနားဖြစ်ကြသည်။ သငျသညျသူတို့ကို array သို့ရှောက်သွားနိုင်ပါတယ်။ PHP သည်အလှည့်ကိုကြိုးစားလိမ့်မည်။

 setlocale(LC_ALL, ['zh_CN.UTF-8', 'zh_CN', 'Chinese']);
  1. dynamic format ကိုအကောင်အထည်ဖော်ရန် localeconv () နှင့်နံပါတ် () နံပါတ် () နံပါတ် () နံပါတ် ()) ကို ပေါင်းစပ်ပြီး <br> <br> လက်ရှိဒေသအလိုက်ရရှိသော Separatator အပေါ်အခြေခံပြီး dynamically format နံပါတ်များ။

  2. ငွေကြေးပုံစံများကိုလုပ်ဆောင်သောအခါ LC_MANETY ကို သုံး. Money_Format () ကိုပေါင်းစပ်ပါ () (PHP7 သည်နောက်မှထောက်ခံလိမ့်မည်မဟုတ်ပါသတိပြုပါ)
    မျက်မှောက်ခေတ်စီမံကိန်းများသည် နံပါတ်များကို အသုံးပြု. စာနယ်ဇင်းများကိုအသုံးပြုသည်။


5 ။ ဥပမာ - ဒေသအလိုက် format ချတ်ထားသောနံပါတ်များကိုပြောင်းလဲခြင်းရလဒ်များ

 <?php
// ဒေသကိုတက် setting
setlocale(LC_ALL, 'fr_FR.UTF-8');

// ဒေသဆိုင်ရာဒီဂျစ်တယ်ပုံစံသတင်းအချက်အလက်ရယူပါ
$locale = localeconv();

$number = 9876543.21;

// 输出နံပါတ်များ
echo number_format($number, 2, $locale['decimal_point'], $locale['thousands_sep']);
?>

ရလဒ်များအစက်အပြောက်:

 9 876 543,21

ပြင်သစ်ကိုနေရာတစ်ထောင်အဖြစ်အသုံးပြုရန်အသုံးပြုသည်။ ဒ decimal မအချက်သည်ကော်မာဖြစ်သည်။


6 ။ အကျဉ်းချုပ်

  • Setlocale () ကိန်းဂဏန်းပုံစံအတွက်ဒေသဆိုင်ရာပတ်ဝန်းကျင်ကိုထိန်းချုပ်နိုင်သည်။

  • localeconv () () ဒေသတွင်းကိန်းဂဏန်းပုံစံအတွက်သတ်သတ်မှတ်မှတ်ခွဲထုတ်သူများကိုဖော်ပြထားသည်။

  • localeconv () Parameter သည် localeconv () parameter သည်နံပါတ်များကို format လုပ်ထားနိုင်သည်။

  • ကွဲပြားခြားနားသောစနစ်များ၏ဘာသာစကားကုဒ်များကွဲပြားခြားနားမှုများကိုဂရုပြုပြီးစာမေးပွဲဝန်းကျင်တွင်၎င်းတို့ကိုချိန်ညှိပါ။

  • မျက်မှောက်ခေတ်စီမံကိန်းများတွင်သင်ပိုမိုအားကောင်းသောနိုင်ငံတကာပံ့ပိုးမှုလိုအပ်ပါက PHP ၏ နံပါတ်များကို အတန်းအစားစာသင်ရန်သင်အကြံပြုပါသည်။

ဆင်ခြင်တုံတရား () နှင့်ဆက်စပ်သောလုပ်ဆောင်ချက်များကို အသုံးပြု. PHP developer များသည်ကွဲပြားခြားနားသောဒေသများ၏အလေ့အကျင့်များနှင့်ကိုက်ညီသောဒီဂျစ်တယ်ပုံစံများကိုအလွယ်တကူနားလည်သဘောပေါက်နိုင်သည်။


 <?php
// နမူနာ:တည်ဆောက်သည်localeဒါဟာရိုးရှင်းတဲ့တရုတ်ဖြစ်ပါတယ်,နံပါတ်များ输出
setlocale(LC_ALL, 'zh_CN.UTF-8');

$number = 1234567.89;
$locale = localeconv();

echo number_format($number, 2, $locale['decimal_point'], $locale['thousands_sep']);
?>