PHP တွင် Sprintf function သည်အလွန်အသုံးဝင်သော string formating tool တစ်ခုဖြစ်သည်။ သို့သော်အချို့ဖြစ်ရပ်များတွင် Sprintf function သည်အနှုတ်လက်ခဏာနံပါတ်များကိုဖော်ထုတ်သောအခါအထူးသဖြင့်လက်မှတ်ရေးထိုးထားသောနံပါတ်များကိုကိုင်တွယ်သောအခါသင်္ကေတတွင်သင်္ကေတပေါ်လာနိုင်သည်။
အောက်ပါကုဒ်ကိုသုံးသပ်ကြည့်ပါ -
<?php
$number = -12345;
echo sprintf("%+d", $number); // ထုတ်လုပ်ခြင်း:+12345
?>
မျှော်လင့်ထားသည့်အတိုင်း % + d formated သင်္ကေတကိုနံပါတ်မတိုင်မီပြသသင့်သော်လည်းအချို့သောကိစ္စရပ်များတွင်အထူးသဖြင့်အနုတ်နံပါတ်များကိုကိုင်တွယ်သောအခါသင်္ကေတသည်မျှော်လင့်ထားသည့်အတိုင်းမမှန်ကန်ပါ။ ဤပြ problem နာကိုမည်သို့ဖြေရှင်းရမည်ကိုလေ့လာပြီးအပျက်သဘောသင်္ကေတများကိုမှန်ကန်စွာဖော်ပြရန်သေချာစေမည်။
% + d သည်လက်မှတ်ရေးထိုးထားသောကိန်းဂဏန်းများကိုကိုယ်စားပြုသောဘုံပုံစံပုံစံဖြစ်သည်။ ၎င်းသည်နံပါတ်၏သင်္ကေတကိုအမြဲတမ်းပြသသင့်သည် (၎င်းသည်အပြုသဘောသို့မဟုတ်အနုတ်လက်ခဏာသင်္ကေတဖြစ်စေဖြစ်စေ) ။ သို့သော် sprintf တွင်အပျက်သဘောဆောင်သောနံပါတ်များကိုအနှုတ်လက္ခဏာများထုတ်ယူခြင်းတွင်တစ်ခါတစ်ရံတွင်ရှေ့နောက်မညီမှုများပြုလုပ်နိုင်သည်။
အနုတ်နံပါတ်များကိုကိုင်တွယ်သောအခါ, သင်သည်သင်္ကေတအနေအထားကို format solfier တွင်သင်္ကေတအနေအထားကိုအတင်းအကျပ်ဖိအားပေးခြင်းအားဖြင့်မှန်ကန်သောနေရာ၌သင်္ကေတကိုမှန်ကန်စွာပြသနိုင်အောင်သေချာစွာဖော်ပြနိုင်သည်။ အထူးသဖြင့် % -D သည် နံပါတ်ကိုနံပါတ်များ၏ရှေ့တွင်တိုက်ရိုက်အောက်ပါအတိုင်းသေချာစေရန်အသုံးပြုနိုင်သည်။
<?php
$number = -12345;
echo sprintf("%-d", $number); // ထုတ်လုပ်ခြင်း:-12345
?>
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်အနုတ်လက်ခဏာကိုမမှန်မကန်မပြောင်းလဲနိုင်ပါ။
အကယ်. သင်ပိုမိုထိန်းချုပ်ရန်လိုအပ်ပါက, အထူးသဖြင့်သင်ဟာတစ်ချိန်တည်းမှာအနုတ်လက်ခဏာနဲ့အပြုသဘောဆောင်တဲ့နံပါတ်နှစ်မျိုးလုံးကိုပုံစံနဲ့ပုံစံနဲ့ရေးဖို့လိုအပ်တဲ့အခါသင်္ကေတရဲ့အနေအထားကိုပြုပြင်ဖို့ထုံးစံ 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 နာကိုရှောင်ရှားနိုင်သည်။
အကယ်. သင်သည်နံပါတ်များကို 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 နာကိုမည်သို့ဖြေရှင်းမည်ကိုပိုမိုနားလည်သဘောပေါက်ရန်ဤဆောင်းပါးသည်သင့်ကိုပိုမိုနားလည်ရန်မျှော်လင့်ပါသည်။