PHP တွင်မတရားတိတုဗေဒဆိုင်ရာနှိုင်းယှဉ်ခြင်းအော်ပရေတာများနှင့်ဆက်ဆံရာတွင် (ဥပမာ - >> >> < ) ကိုအရင်ကလိုအပ်သည့်အခါအထူးသဖြင့်အရေအတွက်သည် PHP ၏ဇာတိ floating point တိကျမှန်ကန်မှုကိုကျော်လွန်သောအခါ။ ဤအချိန်တွင် BCcompP function သည်အကောင်းဆုံးရွေးချယ်မှုဖြစ်လာသည်။ ဤဆောင်းပါးသည် BCcompP 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 င်နှိုင်းယှဉ်ချက်ကိုညွှန်ပြသည့်) နှင့်နှိုင်းယှဉ်ပါကတိကျမှန်ကန်မှုကိုနှိုင်းယှဉ်သည်။
PHP ၏ floating point နံပါတ်သည်အကန့်အသတ်ရှိသောတိကျသောတိကျသောအဘယ်ကြောင့်ဆိုသော်အရှည်တစ်ခုထက်ကျော်လွန်သောနံပါတ်များကိုနှိုင်းယှဉ်ခြင်းကအမှားအယွင်းများဖြစ်ပေါ်စေလိမ့်မည်။ BCcompp သည် နံပါတ်များကို string operations များမှတဆင့်အထူးတိကျသောနှိုင်းယှဉ်မှုရရှိပြီးမည်သည့်အရှည်မဆိုဒ dec မကိန်းများကိုထောက်ပံ့သည်။
နှိုင်းယှဉ်ချက်နှစ်ခုကို string format နှင့်ကိုက်ညီပြီးနံပါတ်အမျိုးအစားနှင့်ကိုက်ညီမှုရှိကြောင်းနှင့်နံပါတ် format နှင့်နှိုင်းယှဉ်ပါ။
$num1 = "12345678901234567890.12345";
$num2 = "12345678901234567890.12346";
နှိုင်းယှဉ်မှုတိကျမှန်ကန်မှု $ စကေးကို သတ်မှတ်ပါ, ဥပမာ 5 ခုနှင့်နှိုင်းယှဉ်ရန်လိုအပ်ပါက 5 ခုကိုသတ်မှတ်ရန်လိုအပ်ပါကသတ်မှတ်ပါ။
$result = bccomp($num1, $num2, 5);
if ($result === 0) {
echo "ဂဏန်းနှစ်ခုတန်းတူဖြစ်ကြသည်";
} elseif ($result === 1) {
echo "$num1 ထက်သာခြင်း $num2";
} else {
echo "$num1 ထက်နည်းသော $num2";
}
<?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";
}
?>
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";
}
?>