ใน JavaScript เมื่อคุณใช้ทศนิยมเพื่อดำเนินการเพิ่มเติมการลบการคูณและการดำเนินการหารคุณจะพบว่าผลลัพธ์ที่ได้รับนั้นบางครั้งตามด้วยทศนิยมที่ยาวนานซึ่งทำให้การดำเนินการซับซ้อนและส่งผลต่อผลการคำนวณ ฉันค้นหาอินเทอร์เน็ตด้วยเหตุผลซึ่งมีดังนี้: ใน JavaScript สถานที่ทศนิยมจำนวนมากจะปรากฏขึ้นเสมอเมื่อการดำเนินการข้อมูลด้วยทศนิยม นี่เป็นเพราะใน JavaScript หมายเลขจุดลอยตัวจะถูกคำนวณใน 2 หลัก
การคัดลอกรหัสมีดังนี้:
-
* การดำเนินการเพิ่มเติมเพื่อหลีกเลี่ยงตัวเลขหลายหลักและการสูญเสียความแม่นยำในการคำนวณหลังจากเพิ่มจุดทศนิยมให้กับข้อมูล
-
* @param num1 เพิ่มหมายเลข 1 | num2 เพิ่มหมายเลข 2
-
ฟังก์ชั่น numadd (num1, num2) {
var basenum, basenum1, basenum2;
พยายาม {
basenum1 = num1.toString (). แยก (".") [1] .length;
} catch (e) {
basenum1 = 0;
-
พยายาม {
basenum2 = num2.toString (). แยก (".") [1] .length;
} catch (e) {
basenum2 = 0;
-
basenum = math.pow (10, math.max (basenum1, basenum2));
return (num1 * basenum + num2 * basenum) / basenum;
-
-
* การดำเนินการเพิ่มเติมเพื่อหลีกเลี่ยงตัวเลขหลายหลักและการสูญเสียความแม่นยำในการคำนวณหลังจากลดขั้นตอนข้อมูล
-
* @param num1 ถูกลบออก | num2 ถูกลบออก
-
ฟังก์ชัน numsub (num1, num2) {
var basenum, basenum1, basenum2;
ความแม่นยำ var; // ความแม่นยำ
พยายาม {
basenum1 = num1.toString (). แยก (".") [1] .length;
} catch (e) {
basenum1 = 0;
-
พยายาม {
basenum2 = num2.toString (). แยก (".") [1] .length;
} catch (e) {
basenum2 = 0;
-
basenum = math.pow (10, math.max (basenum1, basenum2));
ความแม่นยำ = (basenum1> = basenum2)? BASENUM1: BASENUM2;
return ((num1 * basenum - num2 * basenum) / basenum) .tofixed (ความแม่นยำ);
-
-
* การคูณการดำเนินการเพื่อหลีกเลี่ยงตัวเลขหลายหลักและการสูญเสียความแม่นยำในการคำนวณหลังจากการคูณข้อมูลด้วยจุดทศนิยม
-
* @param Num1 ตัวคูณ | ตัวคูณ NUM2
-
ฟังก์ชั่น nummulti (num1, num2) {
var basenum = 0;
พยายาม {
basenum += num1.toString (). แยก (".") [1] .length;
} catch (e) {
-
พยายาม {
basenum += num2.toString (). แยก (".") [1] .length;
} catch (e) {
-
หมายเลขส่งคืน (num1.toString (). แทนที่ (".", "")) * number (num2.toString (). แทนที่ (".", "")) / math.pow (10, basenum);
-
-
* การดำเนินการส่วนเพื่อหลีกเลี่ยงตัวเลขหลายหลักและการสูญเสียความแม่นยำในการคำนวณหลังจากหารจุดทศนิยมของข้อมูล
-
* @Param Num1 Dividend | เงินปันผล NUM2
-
ฟังก์ชั่น numdiv (num1, num2) {
var basenum1 = 0, basenum2 = 0;
var basenum3, basenum4;
พยายาม {
basenum1 = num1.toString (). แยก (".") [1] .length;
} catch (e) {
basenum1 = 0;
-
พยายาม {
basenum2 = num2.toString (). แยก (".") [1] .length;
} catch (e) {
basenum2 = 0;
-
ด้วย (คณิตศาสตร์) {
basenum3 = number (num1.toString (). แทนที่ (".", ""));
basenum4 = number (num2.toString (). แทนที่ (".", ""));
return (basenum3 / basenum4) * POW (10, basenum2 - basenum1);
-
-