Floating Point နံပါတ်သည်ကွန်ပျူတာတစ်ခုတွင်အမှန်တကယ်နံပါတ်တစ်ခု၏အကြမ်းဖျင်းခန့်မှန်းခြေတစ်ခုဖြစ်သော်လည်းလုံးဝတိကျမှုမရှိပါ။ PHP သည် IEEE 754 စံနှုန်းကို အသုံးပြု. floating point နံပါတ်များကိုကိုယ်စားပြုရန်, ဆိုလိုသည်မှာအချို့သောဒ dec မကိန်းများသည်အမှားအယွင်းများအနည်းငယ်သာရှိနိုင်သည်။ လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်ဤအမှားသည်တိကျသောတွက်ချက်မှုရလဒ်များ,
ဥပမာအားဖြင့်, ကျွန်ုပ်တို့ Asin function တွင်ရှိသောတန်ဖိုးသည် 1.000000011 ဖြစ်သည်ဟုဆိုပါစို့ ။ ဤတန်ဖိုးသည်သင်္ချာနည်း 1 နှင့်အလွန်နီးကပ်သည်ရှိသော်သော်လည်းကွန်ပျူတာအတွင်းရှိ floating point ကိုယ်စားပြုမှုသည်အမှားအယွင်းများဖြစ်ပေါ်စေနိုင်သည်။
floating point အမှားအယွင်းများကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုရှောင်ရှားရန် Asin function ၏ input တန်ဖိုးသည်မှန်ကန်ကြောင်းသေချာစေရန်အောက်ပါနည်းလမ်းများကိုအသုံးပြုနိုင်သည်။
Asin function သည်အကွာအဝေးအတွင်းရှိတန်ဖိုးများကိုသာလက်ခံသည်။ ဤအကွာအဝေးပြင်ပရှိမည်သည့်တန်ဖိုးမဆို PHP သည် PHP ကိုသတိပေးခြင်းနှင့် နန်တစ်ခုမဟုတ် (နံပါတ်မဟုတ်) ASIN ကို မခေါ်မီ input range ကိုကန့်သတ်ရန်ကုဒ်ကိုသုံးနိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-number">1.0000000001</span></span><span>; </span><span><span class="hljs-comment">// ဤသည် floating point input ကိုတန်ဖိုးဖြစ်ပါတယ်ယူဆ</span></span><span>
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(-</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-title function_ invoke__">min</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>)); </span><span><span class="hljs-comment">// input ကိုအကွာအဝေးကန့်သတ် [-1, 1] အကြား</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">asin</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"asin(<span class="hljs-subst">$value</span></span></span><span>) = </span><span><span class="hljs-subst">$result</span></span><span>";
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Max နှင့် Min functions များမှတဆင့်ကျွန်ုပ်တို့သည်လွန်ခဲ့သည့်တန်ဖိုးသည် Asin function ၏တရားဝင်အကွာအဝေးထက်မပိုစေနိုင်သည့်အရာသည်မလိုအပ်သောအမှားများကိုရှောင်ရှားနိုင်ကြောင်းသေချာစေနိုင်သည်။
floating-point နံပါတ်များကိုတိကျမှုကြောင့်အစဉ် အလာ () function ကို 0 င်ရောက်ခြင်းကို 0 င်ရောက်နိုင်ရန်သို့မဟုတ်အသုံးပြုရန်အတွက်အသေးအဖွဲအမှားများကိုဖြေရှင်းနိုင်သည်။ ဥပမာအားဖြင့်:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-number">1.0000000001</span></span><span>; </span><span><span class="hljs-comment">// floating အမှတ် input ကိုတန်ဖိုး</span></span><span>
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">round</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>); </span><span><span class="hljs-comment">// ဒ decimal မအမှတ်မှပတ်ပတ်လည် 10 မြင်းဇက်ကြိုး</span></span><span>
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(-</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-title function_ invoke__">min</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>)); </span><span><span class="hljs-comment">// input ကိုအကွာအဝေးကန့်သတ်</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">asin</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"asin(<span class="hljs-subst">$value</span></span></span><span>) = </span><span><span class="hljs-subst">$result</span></span><span>";
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
တိကျစွာပြ problems နာများကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုရှောင်ရှားရန် floating point နံပါတ်များ၏တိကျမှန်ကန်မှုကိုထိန်းချုပ်ရန် Round () ကို သုံးပါ။
အချို့သောကိစ္စရပ်များတွင်အကွာအဝေးကန့်သတ်ချက်ပြုလုပ်ပါကပင်တွက်ချက်မှုရလဒ်သည်တိကျမှန်ကန်မှုပြ issues နာများကြောင့် နန်နန် နေနိုင်ဆဲဖြစ်သည်။ ထို့ကြောင့်, တွက်ချက်မှုကိုမလုပ်ဆောင်မီ, အဝင်တန်ဖိုးသည်တရားဝင်ဖြစ်ကြောင်းနှင့်မလိုအပ်သောသတိပေးချက်များကိုရှောင်ရှားခြင်းရှိမရှိစစ်ဆေးနိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-number">1.0000000001</span></span><span>;
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">max</span></span><span>(-</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-title function_ invoke__">min</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>)); </span><span><span class="hljs-comment">// input ကိုအကွာအဝေးကန့်သတ်</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">asin</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_nan</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"တွက်ချက်မှုရလဒ်ဖြစ်ပါတယ် NAN,ကျေးဇူးပြု. input value ၏တရားဝင်မှုကိုစစ်ဆေးပါ。\n"</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">"asin(<span class="hljs-subst">$value</span></span></span><span>) = </span><span><span class="hljs-subst">$result</span></span><span>\n";
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ဤနည်းလမ်းသည် input value မှာမမှန်ကန်ပါက, အစီအစဉ်သည်အမှားတစ်ခုသို့တိုက်ရိုက်အစီရင်ခံခြင်းသို့မဟုတ်အဓိပ္ပာယ်မဲ့သောရလဒ်များကိုတိုက်ရိုက်အစီရင်ခံမည့်အစား promption ကိုပေးနိုင်သည်။
Input တန်ဖိုးများကိုသင့်လျော်စွာကိုင်တွယ်ခြင်းနှင့်ကန့်သတ်ခြင်းအားဖြင့် Floating Point အမှားများကြောင့်ဖြစ်ပေါ်လာသောတွက်ချက်မှုတိကျသောပြ problems နာများကိုရှောင်ရှားရန် PHP တွင် Asin function ကိုထိရောက်စွာအသုံးပြုနိုင်သည်။ ဘုံနည်းလမ်းများပါဝင်သည်:
ကန့်သတ်ထည့်သွင်းမှုအကွာအဝေး - input value ကို -1 နှင့် 1 အကြားသေချာအောင်လုပ်ပါ။
အမှားပြင်ဆင်ချက် - floating point နံပါတ်များ၏အမှားကိုပြင်ဆင်ရန် ပတ် 0 န်းကျင် () သို့မဟုတ်အခြားတိကျသောထိန်းချုပ်မှုနည်းလမ်းများကိုအသုံးပြုပါ။
The NAN တန်ဖိုးကိုစစ်ဆေးပါ ။ ကျိုးကြောင်းဆီလျော်သောတန်ဖိုးသည်ထုတ်လုပ်မှုကိုသေချာစေရန်တွက်ချက်မှုရလဒ်များကိုစစ်ဆေးပါ။
ဤနည်းလမ်းများကို အသုံးပြု. Asin function တွက်ချက်မှု၏တိကျမှန်ကန်မှုကိုတိုးတက်စေပြီးရေပေါ်အမှတ်အမှားများကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုလျှော့ချနိုင်သည်။