လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ယုတ်မာစွာကိန်းဂဏန်းနှိုင်းယှဉ်မှုကိုလုပ်ဆောင်ရန် BCcomp function ကိုအသုံးပြုနည်း

ယုတ်မာစွာကိန်းဂဏန်းနှိုင်းယှဉ်မှုကိုလုပ်ဆောင်ရန် BCcomp function ကိုအသုံးပြုနည်း

gitbox 2025-05-27

PHP တွင်မတရားတိတုဗေဒဆိုင်ရာနှိုင်းယှဉ်ခြင်းအော်ပရေတာများနှင့်ဆက်ဆံရာတွင် (ဥပမာ - >> >> < ) ကိုအရင်ကလိုအပ်သည့်အခါအထူးသဖြင့်အရေအတွက်သည် PHP ၏ဇာတိ floating point တိကျမှန်ကန်မှုကိုကျော်လွန်သောအခါ။ ဤအချိန်တွင် BCcompP function သည်အကောင်းဆုံးရွေးချယ်မှုဖြစ်လာသည်။ ဤဆောင်းပါးသည် BCcompP function ၏အသုံးပြုမှုကိုအသေးစိတ်ဖော်ပြရန်နှင့်မတရားတိကျသောကိန်းဂဏန်းနှိုင်းယှဉ်ချက်များကိုအကောင်အထည်ဖော်ရန်အတွက်စစ်ဆင်ရေးအဆင့်များကိုလည်းမျှဝေပါမည်။


1 ။ BCCOMP function ကဘာလဲ။

BCcompp သည် PHP ၏ BC သင်္ချာတိုးချဲ့စာကြည့်တိုက်တွင်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်ဖြစ်နိုင်ချေရှိသောတန်ဖိုးသုံးခုကိုပြန်လည်ရရှိခဲ့သည်။

  • 0: ဂဏန်းနှစ်ခုတန်းတူဖြစ်ကြသည်

  • 1: ပထမနံပါတ်သည်ဒုတိယနံပါတ်ထက်သာလွန်သည်

  • -1: ပထမနံပါတ်ကဒုတိယနံပါတ်ထက်သေးငယ်တယ်

BCCOMP ၏ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 int bccomp ( string $left_operand , string $right_operand [, int $scale = 0 ] )
  • $ left_operand နှင့် $ righy_operand နှင့်နှိုင်းယှဉ်ရန်ဂဏန်းနှစ်ခုကြိုးများဖြစ်ကြသည်

  • $ စကေး သည်ဒ decimal မအမှတ် (Default 0 င်နှိုင်းယှဉ်ချက်ကိုညွှန်ပြသည့်) နှင့်နှိုင်းယှဉ်ပါကတိကျမှန်ကန်မှုကိုနှိုင်းယှဉ်သည်။


2 ။

PHP ၏ floating point နံပါတ်သည်အကန့်အသတ်ရှိသောတိကျသောတိကျသောအဘယ်ကြောင့်ဆိုသော်အရှည်တစ်ခုထက်ကျော်လွန်သောနံပါတ်များကိုနှိုင်းယှဉ်ခြင်းကအမှားအယွင်းများဖြစ်ပေါ်စေလိမ့်မည်။ BCcompp သည် နံပါတ်များကို string operations များမှတဆင့်အထူးတိကျသောနှိုင်းယှဉ်မှုရရှိပြီးမည်သည့်အရှည်မဆိုဒ dec မကိန်းများကိုထောက်ပံ့သည်။


3 ။ BCcomp ကိုအသုံးပြုရန်တိကျသောအဆင့်များ

အဆင့် 1: ဂဏန်း string ကိုပြင်ဆင်ပါ

နှိုင်းယှဉ်ချက်နှစ်ခုကို string format နှင့်ကိုက်ညီပြီးနံပါတ်အမျိုးအစားနှင့်ကိုက်ညီမှုရှိကြောင်းနှင့်နံပါတ် format နှင့်နှိုင်းယှဉ်ပါ။

 $num1 = "12345678901234567890.12345";
$num2 = "12345678901234567890.12346";

အဆင့် 2 - နှိုင်းယှဉ်မှုအတွက် BCcomp function ကိုခေါ်ပါ

နှိုင်းယှဉ်မှုတိကျမှန်ကန်မှု $ စကေးကို သတ်မှတ်ပါ, ဥပမာ 5 ခုနှင့်နှိုင်းယှဉ်ရန်လိုအပ်ပါက 5 ခုကိုသတ်မှတ်ရန်လိုအပ်ပါကသတ်မှတ်ပါ။

 $result = bccomp($num1, $num2, 5);

အဆင့် 3. ပြန်လာတန်ဖိုးကိုအခြေခံပြီးအရွယ်အစားရှိသူကိုဆုံးဖြတ်ပါ

 if ($result === 0) {
    echo "ဂဏန်းနှစ်ခုတန်းတူဖြစ်ကြသည်";
} elseif ($result === 1) {
    echo "$num1 ထက်သာခြင်း $num2";
} else {
    echo "$num1 ထက်နည်းသော $num2";
}

4 ။ နမူနာကုဒ်ကိုဖြည့်ပါ

 <?php
// မည်သည့်တိကျစာအရေအတွက်နှိုင်းယှဉ်ခြင်း၏ဥပမာ

$num1 = "9876543210.123456789";
$num2 = "9876543210.123456780";

// ဒ decimal မအချက်နှိုင်းယှဉ်ပြီးနောက်8မြင်းဇက်ကြိုး
$scale = 8;

$result = bccomp($num1, $num2, $scale);

if ($result === 0) {
    echo "ဂဏန်းနှစ်ခုတန်းတူဖြစ်ကြသည်";
} elseif ($result === 1) {
    echo "$num1 ထက်သာခြင်း $num2";
} else {
    echo "$num1 ထက်နည်းသော $num2";
}
?>

5 ။ မှတ်စုဖို့အရာ

  • BCcompp သို့ကူးယူထားသောနံပါတ်သည်တရားဝင်ဂဏန်းကြိုးတစ်ခုဖြစ်ရမည်။

  • $ စကေး parameter သည်ဒ decimal မအချက်များ၏နှိုင်းယှဉ်မှု၏တိကျမှန်ကန်မှုကိုဆုံးဖြတ်နှင့်လိုအပ်ချက်များအရကျိုးကြောင်းဆီလျော်သတ်မှတ်ထားရမည်ဖြစ်သည်။

  • BC သင်္ချာ extension ကို PHP တွင်ပုံမှန်အားဖြင့်ဖွင့်ထားသည်


အထက်ပါအကြောင်းအရာများမှတစ်ဆင့်သင်သည် BCcomp function ကိုအလွယ်တကူအသုံးပြုနိုင်သည်။


 <?php
// အသုံးပြုbccompလုပ်ဆောင်ချက်များကိုမြင့်မားသော - တိကျစွာနံပါတ်နှစ်နှိုင်းယှဉ်,နမူနာကုဒ်သရုပ်ပြ
$num1 = "12345.67890123456789";
$num2 = "12345.67890123456780";

$scale = 14;

$result = bccomp($num1, $num2, $scale);

if ($result === 0) {
    echo "ဂဏန်းနှစ်ခုတန်းတူဖြစ်ကြသည်";
} elseif ($result === 1) {
    echo "$num1 ထက်သာခြင်း $num2";
} else {
    echo "$num1 ထက်နည်းသော $num2";
}
?>