https://www.vevb.com/article/154898.htm
أدناه سنقدم طريقة تنفيذ JavaScript للاحتفاظ بطريقتين تنفيذ عشري:
تقريب
ستكون نتائج المعالجة التالية أربعة ممرات:
var num = 2.446242342 ؛
لا دخول أربعة ممرات
نتائج المعالجة التالية لن تذهب أربعة منازل:
الأول هو وضع عدد صحيح جانبي العشري أولاً:
Math.Floor (15.7784514000 * 100) / 100 // نتيجة الإخراج هي 15.77
يتم استخدام النوع الثاني كسلسلة ، باستخدام المطابقة العادية:
الرقم (15.7784514000.tstring (). Match (/^/d+(؟:/.
ملاحظة: إذا كان سلبيًا ، فيرجى تحويله إلى رقم إيجابي قبل الحساب ، وأخيراً العودة إلى الأرقام السلبية
يحتفظ JavaScript بمثال رقمين عشريين:
<script type = "text/javaScript"> // يحتفظ برقمين عشريين // وظيفة: ضع النقطة العائمة بين أربعة منازل وخمسة ، وبعد أخذ النقطة العشرية ، تتولى وظيفة اثنين (x) {var f = parsefloat (x) ؛ بعد 2 ، أي 2.00 وظيفة todecimal2 (x) {var f = parsefloat (x) ؛ = f.toString () ؛ ) {s += '0' ؛} return s ؛} fomatfloat (src ، pos) {return Math.Round (src*math.pow (10 ، pos)) /math.pow (10 ، pos) ؛} / / أربعة هيندز و Wutong ("حافظ على 2 عشري عشري: + todecimal ( + todecimal (3.14159267) ؛ في حالة تأهب (" Mandarin محفوظة 2 عدد عشري: " + todecimal2 (3.14159267)) ) ؛ )) ؛ )) ؛ toexponential (2) ؛؛ TopRecision (2)) ؛ + 3.1455.Toprecision (2)) ؛استخدم JavaScript لأخذ نقطة العشرية بعد نقطتين.
1. تجاهل الجزء العشري واحتفظ الجزء الصحيح
Parseint (5/2)
2. خذ صعودًا ، وأضف عشريًا إلى الجزء الأيمن لإضافة 1
Math.ceil (5/2)
3 ، أربعة منازل وخمسة يدخل.
Math.Round (5/2)
4 ، أنزل
Math.Floor (5/2)
طريقة بديلة
1. الطريقة الأكثر غباء
نسخ رمز رمز على النحو التالي:
وظيفة get ()
{{
var s = 22.127456 + "" "؛
var str = S.SubString (0 ، s.indexof (".") + 3) ؛
تنبيه (STR) ؛
}
2. تعبير جيد عن التعبيرات العادية
نسخ رمز رمز على النحو التالي:
<script type = "text/javaScript">
onload = function () {
var a = "23.456322" ؛
var من جديد
var re = /( #+9 /.9> 2}) **)-2:
من جديد = a.replace (إعادة ، "$ 1") ؛
تنبيه (من جديد) ؛
}
</script>
3. إنه أكثر ذكاءً ...
نسخ رمز رمز على النحو التالي:
<script>
var num = 22.127456 ؛
تنبيه (Math.round (num*100)/100) ؛
</script>
4. الأصدقاء الذين سيستخدمون أشياء جديدة ... لكنك تحتاج إلى IE5.5+لدعمها.
5. JS يحتفظ 2 عشري (إلزامي)
بالنسبة للنقاط العشرية التي تزيد عن 2 بت ، تكون الوظيفة أعلاه جيدة ، ولكن إذا كانت أقل من 2 بت ، مثل: changetwodecimal (3.1) ، فستعود 3.1. :
نسخ رمز رمز على النحو التالي:
وظيفة changetwodecimal_f (x) {
var f_x = parsefloat (x) ؛
if (isnan (f_x)) {
التنبيه ('الدالة: changetwodecimal-> parameter e خطأ') ؛
العودة كاذبة
}
var f_x = math.round (x * 100) / 100 ؛
var s_x = f_x.toString () ؛
var pos_decimal = s_x.indexof ('.') ؛
if (pos_decimal <0) {
pos_decimal = s_x.length ؛
s_x += '.' ؛
}
بينما (s_x.length <= pos_decimal + 2) {{
s_x += '0' ؛
}
إرجاع s_x ؛
}
الوظيفة: ضع النقطة العائمة واذهب لأربعة منازل وخمسة ، خذ رقمين بعد النقطة العشرية.
تقوم هذه الوظيفة بإرجاع استخدام تنسيق السلسلة: changetwodecimal (3.1415926) عودة 3.14 changetwodecimal (3.1) العائد 3.10 3.10