လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဒေတာများကိုသန့်ရှင်းရေးလုပ်သည့်အခါ floating point နံပါတ်များကိုတိကျစွာခွဲခြားနိုင်ပါသလား။

ဒေတာများကိုသန့်ရှင်းရေးလုပ်သည့်အခါ floating point နံပါတ်များကိုတိကျစွာခွဲခြားနိုင်ပါသလား။

M66 2025-07-04

is_Double () function ကိုခြုံငုံသုံးသပ်ချက်

ပထမ ဦး စွာ is_double () function ကို၏အခြေခံအသုံးပြုမှုကိုနားလည်ပါ။ is_Double () သည် PHP တွင် function တစ်ခုဖြစ်ပြီး variable တစ်ခုသည် floarie နံပါတ်တစ်ခုဟုတ်မဟုတ်စစ်ဆေးသည်။ တကယ်တော့ is_Doubble () is_float () alias ကို alias ကိုနှင့်လုပ်ဆောင်ချက်နှစ်ခုအတူတူပင်ဖြစ်ကြသည်။

 <span><span><span class="hljs-variable">$var</span></span><span> = </span><span><span class="hljs-number">1.23</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_double</span></span><span>(</span><span><span class="hljs-variable">$var</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"၎င်းသည် floating အမှတ်နံပါတ်ဖြစ်သည်"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"不၎င်းသည် floating အမှတ်နံပါတ်ဖြစ်သည်"</span></span><span>;
}
</span></span>

အထက်ပါကုဒ်တွင် $ var ၏တန်ဖိုးသည် floating နံပါတ်တစ်ခုဖြစ်လျှင် is_double () သည် စစ်မှန်သော ပြန်လာလိမ့်မည်

အလုပ်၏နိယာမနှင့် is_double ၏ကန့်သတ်ချက်များ ()

is_Doubleble () function သည် variable သည် floarie နံပါတ်တစ်ခုရှိမရှိအမှန်ပင်ထိရောက်စွာတရားစီရင်နိုင်သည်။

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

 <span><span><span class="hljs-variable">$var1</span></span><span> = </span><span><span class="hljs-number">1.23</span></span><span>;    </span><span><span class="hljs-comment">// ရေပေါ်နံပါတ်</span></span><span>
</span><span><span class="hljs-variable">$var2</span></span><span> = </span><span><span class="hljs-number">1.0</span></span><span>;     </span><span><span class="hljs-comment">// ရေပေါ်နံပါတ်</span></span><span>
</span><span><span class="hljs-variable">$var3</span></span><span> = </span><span><span class="hljs-string">"1.23"</span></span><span>;  </span><span><span class="hljs-comment">// ကြိုး "1.23"</span></span><span>
</span><span><span class="hljs-variable">$var4</span></span><span> = </span><span><span class="hljs-number">1</span></span><span>;       </span><span><span class="hljs-comment">// ကိန်း 1</span></span><span>

</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_double</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>));  </span><span><span class="hljs-comment">// true</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_double</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>));  </span><span><span class="hljs-comment">// true</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_double</span></span><span>(</span><span><span class="hljs-variable">$var3</span></span><span>));  </span><span><span class="hljs-comment">// false</span></span><span>
</span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_double</span></span><span>(</span><span><span class="hljs-variable">$var4</span></span><span>));  </span><span><span class="hljs-comment">// false</span></span><span>
</span></span>

အထက်ဖော်ပြပါကုဒ်များတွင်ပြသသည့်အတိုင်း is_Double () function သည် $ var1 နှင့် $ var2 ကို floating နံပါတ်များအဖြစ်မှန်ကန်စွာခွဲခြားသတ်မှတ်နိုင်သည်။ သို့သော်၎င်းသည် "1.23" ကဲ့သို့သောကြိုးများကိုအသိအမှတ်မပြုနိုင်ပါ။ PHPT လို အလျှောက် ပြောင်းလဲခြင်း သဘောသဘာဝ ,

ဒေတာသန့်ရှင်းရေးအတွက်ဘုံစိန်ခေါ်မှုများ

ဒေတာသန့်ရှင်းရေးတွင်ကျွန်ုပ်တို့သည်တရားစီရင်ခြင်းနှင့်လုပ်ငန်းများ၌ပြုလုပ်ရန်လိုအပ်သည့်အချက်အလက်အမျိုးအစားနှစ်မျိုးကိုကြုံတွေ့ရလေ့ရှိသည် -

  1. ရောနှောထားသောအမျိုးအစားအချက်အလက်များ - ဥပမာအားဖြင့်အချို့သောကော်လံများတွင်ဂဏန်းနှင့် strings အမျိုးအစားများ (ဥပမာ - 123.45 " သို့မဟုတ် " 0.0 " ) ရှိသည်။ အကယ်. ကျွန်ုပ်တို့သည်ဤအချက်အလက်များကိုရှာဖွေရန် IS_DUBUBES () ကို သာသုံးပါက၎င်းသည်မှားယွင်းစွာသို့မဟုတ်မှားယွင်းစွာမှားယွင်းစွာဖြစ်နိုင်သည်။

  2. တိကျသောပြ problem နာ - ရေပေါ်နံပါတ်များသည်ကွန်ပျူတာများသိုလှောင်ထားသည့်အတွက်တိကျမှန်ကန်မှုကင်းမဲ့ခြင်းကိုအထူးသဖြင့်အလွန်သေးငယ်သောသို့မဟုတ်အလွန်ကြီးမားသောရေပေါ်အရေအတွက်ကိုကိုယ်စားပြုသောအခါတွင်သိပ္ပံနည်းကျမှတ်စုများကိုအသုံးပြုသောအခါတိကျမှန်ကန်မှုကင်းမဲ့ခြင်းကိုကြုံတွေ့နိုင်သည်။ is_Double () ဒီပြ problem နာကိုမဖြေရှင်းနိုင်ဘူး။

ရေပေါ်နံပါတ်များကိုပိုမိုတိကျစွာခွဲခြားသတ်မှတ်နိုင်ပုံ?

အချက်အလက်သန့်ရှင်းရေး၏တိကျမှန်ကန်မှုကိုသေချာစေရန်ကျွန်ုပ်တို့သည်ပိုမိုရှုပ်ထွေးသောတရားစီရင်ရေးဆိုင်ရာယုတ္တိဗေဒလိုအပ်နိုင်သည်။ ဤတွင်အချို့သောဘုံဖြေရှင်းချက်များမှာ -

filter_var () function ကိုသုံးပါ

PHP မှပေးသော filter_var () function သည် filter_valka_float option ကို filter_valka_Float option ကိုရှိပြီး string ကို floating နံပါတ်တစ်ခုသို့ပြောင်းလဲခြင်းရှိမရှိကိုပိုမိုတင်းကြပ်စွာဆုံးဖြတ်နိုင်သည်။

 <span><span><span class="hljs-variable">$var1</span></span><span> = </span><span><span class="hljs-string">"1.23"</span></span><span>;
</span><span><span class="hljs-variable">$var2</span></span><span> = </span><span><span class="hljs-string">"123abc"</span></span><span>;

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>, FILTER_VALIDATE_FLOAT) !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$var1</span></span></span><span> 是ရေပေါ်နံပါတ်\n";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$var1</span></span></span><span> 不是ရေပေါ်နံပါတ်\n";
}

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>, FILTER_VALIDATE_FLOAT) !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$var2</span></span></span><span> 是ရေပေါ်နံပါတ်\n";
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$var2</span></span></span><span> 不是ရေပေါ်နံပါတ်\n";
}
</span></span>

ထုတ်လုပ်မှု -

 <span><span>1.23 是ရေပေါ်နံပါတ်
123abc 不是ရေပေါ်နံပါတ်
</span></span>

filter_var () ကို အသုံးပြုခြင်းသည်ကြိုးများမှရေပေါ်နံပါတ်များကိုထိရောက်စွာထုတ်ယူနိုင်ပြီးအခြားတရားမဝင်ပုံစံများဖြင့်အချက်အလက်များကိုအခြားတရားမ 0 င ်သောပုံစံများဖြင့်ဖယ်ထုတ်နိုင်သည်။

ပုံမှန်အသုံးအနှုန်းများနှင့်အတူပေါင်းစပ်

အကယ်. ကျွန်ုပ်တို့သည် floating နံပါတ်များကိုပိုမိုတင်းကြပ်စွာထိန်းချုပ်လိုပါကပုံမှန်အသုံးအနှုန်းများနှင့်ပေါင်းစပ်။ ကျွန်ုပ်တို့ဆုံးဖြတ်နိုင်သည်။ ဥပမာအားဖြင့်, ၎င်းသည်မှန်ကန်သောရေပေါ်အရေအတွက် (အနုတ်လက်ခဏာနံပါတ်များ, ဒ decimal မကိန်းများစသည်ဖြစ်စေ,) ဟုတ်မဟုတ်စစ်ဆေးပါ။

 <span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">isValidFloat</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$var</span></span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-string">'/^-?\d+(\.\d+)?$/'</span></span><span>, </span><span><span class="hljs-variable">$var</span></span><span>);
}

</span><span><span class="hljs-variable">$var1</span></span><span> = </span><span><span class="hljs-string">"1.23"</span></span><span>;
</span><span><span class="hljs-variable">$var2</span></span><span> = </span><span><span class="hljs-string">"123"</span></span><span>;
</span><span><span class="hljs-variable">$var3</span></span><span> = </span><span><span class="hljs-string">"abc"</span></span><span>;

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">isValidFloat</span></span><span>(</span><span><span class="hljs-variable">$var1</span></span><span>) ? </span><span><span class="hljs-string">"是ရေပေါ်နံပါတ်"</span></span><span> : </span><span><span class="hljs-string">"不是ရေပေါ်နံပါတ်"</span></span><span>; </span><span><span class="hljs-comment">// 是ရေပေါ်နံပါတ်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">isValidFloat</span></span><span>(</span><span><span class="hljs-variable">$var2</span></span><span>) ? </span><span><span class="hljs-string">"是ရေပေါ်နံပါတ်"</span></span><span> : </span><span><span class="hljs-string">"不是ရေပေါ်နံပါတ်"</span></span><span>; </span><span><span class="hljs-comment">// 是ရေပေါ်နံပါတ်</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">isValidFloat</span></span><span>(</span><span><span class="hljs-variable">$var3</span></span><span>) ? </span><span><span class="hljs-string">"是ရေပေါ်နံပါတ်"</span></span><span> : </span><span><span class="hljs-string">"不是ရေပေါ်နံပါတ်"</span></span><span>; </span><span><span class="hljs-comment">// 不是ရေပေါ်နံပါတ်</span></span><span>
</span></span>

ပုံမှန်အသုံးအနှုန်းများမှတစ်ဆင့်ကျွန်ုပ်တို့သည်တိကျသောရေပေါ်နံပါတ်များကိုတိကျသောပုံစံနှင့်ကိုက်ညီနိုင်ပြီးအသိအမှတ်ပြုမှုတိကျမှန်ကန်မှုကိုတိုးတက်စေနိုင်သည်။

အကျဉ်းချုပ်

ဒေတာသန့်ရှင်းရေးတွင် is_double () သည် variable တစ်ခုသည် floarie နံပါတ်တစ်ခုဟုတ်မဟုတ်ဆုံးဖြတ်ရန်အမှန်တကယ်အထောက်အကူပြုနိုင်သည်။ Filter_VAR () နှင့်ပုံမှန်အသုံးအနှုန်းများကိုပိုမိုတိကျသောရေပေါ်နံပါတ်တရားသူကြီးများကိုအသုံးပြုရန်လည်းအကြံပြုပါသည်။ ဤနည်းလမ်းများသည်အထူးသဖြင့် Misjudgment သို့မဟုတ် Misjudgment ကိုထိထိရောက်ရောက်လျှော့ချနိုင်သည့်ကိုက်ညီမှုမရှိသောဒေတာအမျိုးအစားများနှင့်ပုံစံများတွင်ပိုမိုသောပြောင်းလွယ်ပြင်လွယ်မှုနှင့်တိကျမှန်ကန်မှုကိုပေးနိုင်သည်။

ထို့ကြောင့်သင်၏ဒေတာသန့်ရှင်းရေးသည်ပိုမိုမြင့်မားသောတိကျမှန်ကန်မှုလိုအပ်သည်ဆိုပါကအထူးသဖြင့် floating နံပါတ်များကိုပြောင်းလဲခြင်းနှင့် ပတ်သက်. သန့်ရှင်းရေးလုပ်ရန်ပိုမိုအစွမ်းထက်သောကိရိယာများကိုအသုံးပြုရန်စဉ်းစားပါ။