လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> setterype သုံး. floating တန်ဖိုးများကိုကိန်းဂဏန်းများသို့ပြောင်းလဲနည်း

setterype သုံး. floating တန်ဖိုးများကိုကိန်းဂဏန်းများသို့ပြောင်းလဲနည်း

gitbox 2025-05-29

PHP တွင်အမျိုးအစားပြောင်းလဲခြင်းဆိုသည်မှာအထူးသဖြင့် variable ကိုတင်းကြပ်စွာရိုက်ရန်လိုအပ်သည့်အခါဘုံလည်ပတ်မှုတစ်ခုဖြစ်သည်။ Settype () သည် PHP မှ PHP မှပါ 0 င်သည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ Settype () ကိန်းဂဏန်းများကိုကိန်းဂဏန်းများပြောင်းလဲခြင်းနှင့်ပတ်သက်သောအချက်အလက်များနှင့်ဆက်ဆံရာတွင်အလွန်ကြည့်ရှုရာတွင်၎င်းသည်နောက်ကွယ်တွင်အာရုံစိုက်ရန်အသေးစိတ်အချက်အလက်များရှိသည်။

အခြေခံအသုံးပြုမှု

SetTTYPE () ၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 bool settype(mixed &$var, string $type)

ဒီ function က parameters တွေကိုသုံးတာက parameters တွေကိုသုံးတယ်။ variable တစ်ခုရဲ့ရည်ညွှန်းချက် $ var var var var var var var နဲ့ target type $ type (ဥပမာ "string", string စသည်) ။ အဆိုပါ function ကို boolean တန်ဖိုးကိုပြန်လည်ရရှိခြင်း, အမျိုးအစားကိုအောင်မြင်စွာသတ်မှတ်ထားခြင်းရှိမရှိညွှန်ပြ,

ဥပမာအားဖြင့်, floating point နံပါတ်ကိုကိန်းဂဏန်းတစ်ခုသို့ပြောင်းပါ။

 $number = 42.99;
settype($number, "integer");
echo $number; // ထုတ်လုပ်ခြင်း:42

ကိန်းဂဏန်းများအတွက် floating အမှတ်နံပါတ်များ၏အမှန်တကယ်အပြုအမူ

float မှကိန်းဂဏန်းများသို့ပြောင်းလဲခြင်းပြုလုပ်သောအခါ PHP သည်အပိုင်းအစကွဲလွဲမှုအစားအပိုင်းအစငယ်များကိုဆွဲဆောင်ရန်မဟုတ်ဘဲအပိုင်းအစငယ်များကို ဖြတ်တောက် ရန်လုပ်ဆောင်သည်။ ဒါကအရမ်းအရေးကြီးတယ်

ဥပမာအားဖြင့်:

 $float = 9.99;
settype($float, "integer");
echo $float; // ထုတ်လုပ်ခြင်း:9

Decimal - Point ပြီးနောက်မည်သည့်နေရာတွင်မဆိုနေရာချထားပါစေ,

settype () vs (int) သွန်း

SetTYPE () ကို အမျိုးအစား ပြောင်းလဲခြင်းအတွက်အသုံးပြုနိုင်သော်လည်းအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှု အတွက် ,

 $float = 7.89;
$int1 = (int) $float;
$int2 = intval($float);

echo $int1; // ထုတ်လုပ်ခြင်း:7
echo $int2; // ထုတ်လုပ်ခြင်း:7

ဤနည်းလမ်းများသည် semantics နှင့်စာရေးခြင်း၏စည်းကမ်းချက်များ၌ကွဲပြားခြားနားသောအရာမှအမူ ကျင့်၏ပြောင်းလဲခြင်းရလဒ်နှင့်အတူတူပင်ဖြစ်သည်။

  • Settype () အစက်အပြောက်အပေါ်မူရင်း variable ကိုပြုပြင်ရန် ဖြစ်ပါတယ်

  • (Int) အသစ်တစ်ခု ကိုပြန်လည်ရောက်ရှိ

  • Intval () သည် အမျိုးအစားများ (ဥပမာ strings များကဲ့သို့) ကိုကိုင်တွယ်နိုင်ပြီးနောက်ထပ် parameters များကိုပေးသည်

မှတ်သားရန်အရာ

  1. အချက်အလက်တိကျမှုဆုံးရှုံးမှု - floating-point နံပါတ်များကိုကိန်းဂဏန်းများအဖြစ်ပြောင်းလဲသည့်အခါဒ decimal မကိန်းသည်အမှန်တကယ်ရလဒ်များနှင့်မကိုက်ညီပါ။

  2. လျှံလျှပ်စစ်ပြ problem နာ - PHP ၏ကိန်းဂဏန်းများသည်အကွာအဝေးကန့်သတ်ချက်များ (-9233378477777777777777777777777777777775888857777777777777777777777777777777777777758888777777777777777777777777777777777777777775888877777777777777777775888877) တွင်မှန်ကန်စွာပြောင်းလဲခြင်းမပြုနိုင်ပါ။

  3. ဘဏ် calcumations ာရေးတွက်ချက်မှုအတွက်မသင့်တော်ပါ

ဥပမာ - အသုံးပြုသူမှစျေးနှုန်းထည့်သွင်းမှု

အသုံးပြုသူသည်စျေးနှုန်းချိုသာစွာတင်ပြသည်ဆိုပါစို့။

 $price = $_POST['price']; // အသုံးပြုသူထည့်သွင်းမှုဖြစ်နိုင်သည် "199.95"
if (is_numeric($price)) {
    $price = (float) $price;
    settype($price, "integer");
    // ယခု $price ဒါဟာကိန်းတစ်ခုပါ 199,နောက်ထပ်အပြောင်းအလဲနဲ့အတွက်အသုံးပြုနိုင်ပါသည်
}

လုံခြုံရေးအကြောင်းပြချက်များအတွက်, input ကိုတရားဝင်နံပါတ်ဟုတ်မဟုတ်စစ်ဆေးရန် is_numeric () ကို သေချာစွာအသုံးပြုပါ။

URL Parameters အတွက်အမျိုးအစားပြောင်းလဲခြင်းအပေါ်သတိပြုပါ

ဥပမာအားဖြင့် URL parameters တွေကိုပြုပြင်ပြောင်းလဲတဲ့အခါသင်ပြောင်းချင်ရင်:

 https://gitbox.net/process.php?value=12.75

သင်ဤသို့ပြုလိမ့်မည်:

 $value = $_GET['value'];
if (is_numeric($value)) {
    $value = (float) $value;
    settype($value, "integer");
    echo "အဆိုပါ integer တန်ဖိုးဖြစ်ပါတယ်:" . $value;
}

အန္တရာယ်ရှိတဲ့သို့မဟုတ်မမှန်ကန်ကြောင်းထည့်သွင်းခြင်းကြောင့်ဖြစ်သည့်ပြ problems နာများကိုရှောင်ရှားရန်သင်အမြဲတမ်းစစ်ဆေးနေကြောင်းသေချာအောင်လုပ်ပါ။

အကျဉ်းချုပ်

settype () ကို သုံးရန် floating-points နံပါတ်များကိုပြောင်းလဲရန် PHP တွင်တိုက်ရိုက်နှင့်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ သို့သော်ပတ် 0 န်းကျင်ကိုနားလည်ခြင်း, ပိုမိုရှုပ်ထွေးသောသို့မဟုတ်ပိုမိုမြင့်မားသောတိကျမှုလိုအပ်ချက်များအတွက်ပိုမိုမြင့်မားသောဒေတာလုပ်ဆောင်မှုများပြုပြင်ခြင်းနည်းလမ်းများကိုစဉ်းစားခြင်းသည်ပိုမိုကောင်းမွန်သောရွေးချယ်မှုဖြစ်လိမ့်မည်။