လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အနုတ်လက်ခဏာနံပါတ်များကို format ချသောအခါမမှန်ကန်သောသင်္ကေတမျက်နှာပြင်အတွက်အစီအစဉ်ဖြေရှင်းချက်

အနုတ်လက်ခဏာနံပါတ်များကို format ချသောအခါမမှန်ကန်သောသင်္ကေတမျက်နှာပြင်အတွက်အစီအစဉ်ဖြေရှင်းချက်

gitbox 2025-04-28

PHP တွင် Sprintf function သည်အလွန်အသုံးဝင်သော string formating tool တစ်ခုဖြစ်သည်။ သို့သော်အချို့ဖြစ်ရပ်များတွင် Sprintf function သည်အနှုတ်လက်ခဏာနံပါတ်များကိုဖော်ထုတ်သောအခါအထူးသဖြင့်လက်မှတ်ရေးထိုးထားသောနံပါတ်များကိုကိုင်တွယ်သောအခါသင်္ကေတတွင်သင်္ကေတပေါ်လာနိုင်သည်။

ပြနာဖော်ပြချက်

အောက်ပါကုဒ်ကိုသုံးသပ်ကြည့်ပါ -

 <?php
$number = -12345;
echo sprintf("%+d", $number);  // ထုတ်လုပ်ခြင်း:+12345
?>

မျှော်လင့်ထားသည့်အတိုင်း % + d formated သင်္ကေတကိုနံပါတ်မတိုင်မီပြသသင့်သော်လည်းအချို့သောကိစ္စရပ်များတွင်အထူးသဖြင့်အနုတ်နံပါတ်များကိုကိုင်တွယ်သောအခါသင်္ကေတသည်မျှော်လင့်ထားသည့်အတိုင်းမမှန်ကန်ပါ။ ဤပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်ကိုလေ့လာပြီးအပျက်သဘောသင်္ကေတများကိုမှန်ကန်စွာဖော်ပြရန်သေချာစေမည်။

အကြောင်းပြချက်ခွဲခြမ်းစိတ်ဖြာခြင်း

% + d သည်လက်မှတ်ရေးထိုးထားသောကိန်းဂဏန်းများကိုကိုယ်စားပြုသောဘုံပုံစံပုံစံဖြစ်သည်။ ၎င်းသည်နံပါတ်၏သင်္ကေတကိုအမြဲတမ်းပြသသင့်သည် (၎င်းသည်အပြုသဘောသို့မဟုတ်အနုတ်လက်ခဏာသင်္ကေတဖြစ်စေဖြစ်စေ) ။ သို့သော် sprintf တွင်အပျက်သဘောဆောင်သောနံပါတ်များကိုအနှုတ်လက္ခဏာများထုတ်ယူခြင်းတွင်တစ်ခါတစ်ရံတွင်ရှေ့နောက်မညီမှုများပြုလုပ်နိုင်သည်။

အဖေြ

1 ။ သင်္ကေတ၏မှန်ကန်သောအနေအထားကိုသေချာစေရန် % -d ကို သုံးပါ

အနုတ်နံပါတ်များကိုကိုင်တွယ်သောအခါ, သင်သည်သင်္ကေတအနေအထားကို format solfier တွင်သင်္ကေတအနေအထားကိုအတင်းအကျပ်ဖိအားပေးခြင်းအားဖြင့်မှန်ကန်သောနေရာ၌သင်္ကေတကိုမှန်ကန်စွာပြသနိုင်အောင်သေချာစွာဖော်ပြနိုင်သည်။ အထူးသဖြင့် % -D သည် နံပါတ်ကိုနံပါတ်များ၏ရှေ့တွင်တိုက်ရိုက်အောက်ပါအတိုင်းသေချာစေရန်အသုံးပြုနိုင်သည်။

 <?php
$number = -12345;
echo sprintf("%-d", $number);  // ထုတ်လုပ်ခြင်း:-12345
?>

ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်အနုတ်လက်ခဏာကိုမမှန်မကန်မပြောင်းလဲနိုင်ပါ။

2 ။ သင်္ကေတများလုပ်ဆောင်ရန်ထုံးစံအတိုင်းလုပ်ဆောင်ချက်များကိုအသုံးပြုပါ

အကယ်. သင်ပိုမိုထိန်းချုပ်ရန်လိုအပ်ပါက, အထူးသဖြင့်သင်ဟာတစ်ချိန်တည်းမှာအနုတ်လက်ခဏာနဲ့အပြုသဘောဆောင်တဲ့နံပါတ်နှစ်မျိုးလုံးကိုပုံစံနဲ့ပုံစံနဲ့ရေးဖို့လိုအပ်တဲ့အခါသင်္ကေတရဲ့အနေအထားကိုပြုပြင်ဖို့ထုံးစံ function ကိုရေးနိုင်တယ်။ ဒီမှာဥပမာတစ်ခုပါ။

 <?php
function custom_sprintf($format, $number) {
    if ($number < 0) {
        return '-' . sprintf($format, abs($number));
    } else {
        return sprintf($format, $number);
    }
}

$number = -12345;
echo custom_sprintf("%d", $number);  // ထုတ်လုပ်ခြင်း:-12345
?>

ဤနည်းအားဖြင့်နံပါတ်များ၏သင်္ကေတပေါ် မူတည်. output ကိုပုံစံကိုမည်သို့ပုံစံချရမည်ကိုသင်ဆုံးဖြတ်နိုင်ပြီးသင်္ကေတလူ၏ပြ problem နာကိုရှောင်ရှားနိုင်သည်။

3 ။ ၎င်းကိုကိုင်တွယ်ရန် Nume_Format function ကိုသုံးပါ

အကယ်. သင်သည်နံပါတ်များကို format လုပ်ရန်နှင့်ဒ decimal မအချက်တစ်ထောင်အပြီးတွင်ဂဏန်းအရေအတွက်ကိုထိန်းချုပ်ရန်လိုအပ်ပါက ကိန်းဂဏန်းများ အနေဖြင့်ကိန်းဂဏန်းများအစရှိသဖြင့်, ဥပမာအားဖြင့်:

 <?php
$number = -12345.6789;
echo number_format($number, 2, '.', ',');  // ထုတ်လုပ်ခြင်း:-12,345.68
?>

ဤနည်းလမ်းသည်အနုတ်လက်ခဏာဒ dec မဟုတ်နှင့်ထောင်ပေါင်းများစွာသောခွဲထွက်သူများကိုကိုင်တွယ်ရန်အလွန်ထိရောက်သောဖြစ်သည်။

အကျဉ်းချုပ်

PHP ရှိ Sprintf function ၏ formatting function သည်အလွန်အစွမ်းထက်သော်လည်းအနှုတ်လက္ခဏာများနှင့်ဆက်ဆံရာတွင်အသေးစိတ်အချက်အလက်များရှိနိုင်သည်။ မမှန်ကန်သောသင်္ကေတပြသမှုပြ problem နာကိုရှောင်ရှားရန်, format soldifier သို့မဟုတ် custom function ကိုရေးသားခြင်းအားဖြင့်သင်္ကေတမှန်ကန်စွာပြသနိုင်သေချာအောင်လုပ်နိုင်ပါတယ်။ အနုတ်လက်ခဏာနံပါတ်များကိုပုံစံချသောအခါ Sprintf function ၏ပြ problem နာကိုမည်သို့ဖြေရှင်းမည်ကိုပိုမိုနားလည်သဘောပေါက်ရန်ဤဆောင်းပါးသည်သင့်ကိုပိုမိုနားလည်ရန်မျှော်လင့်ပါသည်။