في JS ، إذا استخدمت عمومًا وظيفة tofixed إذا احتفظت بتت n بعد النقطة العشرية ، فيمكنك استخدام
نسخة الكود كما يلي:
<script language = "javaScript">
document.write ("<h1> يحتفظ JS بمثال رقمين عشريين </h1> <br>") ؛
var a = 2.1512131231231321 ؛
document.write ("القيمة الأصلية:"+a+"<br>") ؛
document.write ("نقطتان عشريتان:"+a.tofixed (2)+"<br> أربع نقاط عشرية"+a.tofixed (4)) ؛
</script>
وظيفة التحويل الدائرية ، على النحو التالي:
نسخة الكود كما يلي:
وظيفة الجولة (v ، e) {
var t = 1 ؛
لـ (؛ e> 0 ؛ t*= 10 ، e--) ؛
لـ (؛ e <0 ؛ t/= 10 ، e ++) ؛
إرجاع Math.Round (v*t)/t ؛
}
في المعلمات:
V يعني القيمة المراد تحويلها
تشير E إلى عدد الأرقام المراد الاحتفاظ بها
الاثنان في الوظيفة ، هذه هي النقطة الرئيسية.
الأول للحالة التي تكون فيها النقطة العشرية على الجانب الأيمن ، أي كم عدد الأرقام على الجانب الأيمن من النقطة العشرية يتم الاحتفاظ بها ؛
والثاني بالنسبة للقضية على الجانب الأيسر من النقطة العشرية ، أي كم عدد الأرقام على الجانب الأيسر من النقطة العشرية.
وظيفة من أجل هي حساب قيمة t ، أي مضاعف عدد المرات التي يجب أن يتم توسيعها أو تقليلها (متعددة = t).
هنا يستخدم خصائصين في الحكم الشرطي وتراكم العداد (حلقة) ،
عندما تفي E بشرط ، من أجل الاستمرار ، وتراكم E في كل مرة (E هو إنشاء حالة لا تفي بالدورة) ، يتم حساب قيمة t أيضًا.
أخيرًا ، يتم استخدام طريقة الجولة الأصلية لحساب نتيجة V الموسعة/القابلة للتقلص ، ثم يتم توسيع النتيجة/قابلة للتقلص على المضاعف الصحيح.
فيما يلي أمثلة مختلفة من الأرقام المكونة من رقمين
نسخة الكود كما يلي:
<script type = "text/javaScript">
// الاحتفاظ بمكانين عشريين
// الوظيفة: رقم النقطة العائمة المستديرة وأخذ مكانين عشريين بعد النقطة العشرية
وظيفة todecimal (x) {
var f = parsefloat (x) ؛
if (isnan (f)) {
يعود؛
}
f = math.round (x*100)/100 ؛
العودة و ؛
}
// يحتفظ النظام بمكانين عشريين ، مثل: 2 ، 00 ستضاف بعد 2 ، أي 2.00 ستضاف.
وظيفة todecimal2 (x) {
var f = parsefloat (x) ؛
if (isnan (f)) {
العودة كاذبة
}
var f = math.round (x*100)/100 ؛
var s = f.toString () ؛
var rs = s.indexof ('.') ؛
if (rs <0) {
rs = s.length ؛
S += '.' ؛
}
بينما (S.Length <= rs + 2) {
S += '0' ؛
}
العودة s ؛
}
وظيفة fomatfloat (src ، pos) {
return Math.Round (src*math.pow (10 ، pos))/math.pow (10 ، pos) ؛
}
// التقريب
ALERT ("Reserve 2 أماكن عشرية:" + todecimal (3.14159267)) ؛
في حالة تأهب ("مجبر على الاحتفاظ بمكانين عشريين:" + todecimal2 (3.14159267)) ؛
ALERT ("الاحتياطي 2 الأماكن العشرية:" + todecimal (3.14559267)) ؛
في حالة تأهب ("مجبر على الاحتفاظ بعشرين:" + todecimal2 (3.15159267)) ؛
تنبيه ("الاحتياطي 2 أماكن عشرية:" + fomatfloat (3.14559267 ، 2)) ؛
ALERT ("الاحتياطي 1 مكان عشري:" + fomatfloat (3.15159267 ، 1)) ؛
// خمس جولات وستة جولات
ALERT ("الاحتياطي 2 الأماكن العشرية:" + 1000.003.Tofixed (2)) ؛
ALERT ("الاحتياطي 1 مكان عشري:" + 1000.08.Tofixed (1)) ؛
ALERT ("الاحتياطي 1 مكان عشري:" + 1000.04.Tofixed (1)) ؛
ALERT ("الاحتياطي 1 مكان عشري:" + 1000.05.Tofixed (1)) ؛
// العد العلمي
التنبيه (3.1415.toexponential (2)) ؛
تنبيه (3.1455.toexponential (2)) ؛
التنبيه (3.1445.toexponential (2)) ؛
التنبيه (3.1465.toexponential (2)) ؛
تنبيه (3.1665.toexponential (1)) ؛
// بالضبط إلى وضع n ، بدون موقف n
تنبيه ("بالضبط إلى النقطة العشرية الثانية" + 3.1415.ToPrecision (2)) ؛
تنبيه ("بالضبط إلى المكان العشري الثالث" + 3.1465.ToPrecision (3)) ؛
تنبيه ("بالضبط إلى النقطة العشرية الثانية" + 3.1415.ToPrecision (2)) ؛
تنبيه ("بالضبط إلى النقطة العشرية الثانية" + 3.1455.ToPrecision (2)) ؛
تنبيه ("بالضبط إلى المكان العشري الخامس" + 3.141592679287.Toprecision (5)) ؛
</script>
ما سبق هو كل الرمز. هل هو بسيط للغاية؟ آمل أن يكون ذلك مفيدًا للجميع