คัดลอกรหัสรหัสดังนี้:
(การทำงาน () {)
var calc =
-
ฟังก์ชั่นการเพิ่มฟังก์ชั่นเพื่อให้ได้ผลลัพธ์ที่แม่นยำของวิธีการเพิ่มเติม
หมายเหตุ: จะมีข้อผิดพลาดในผลลัพธ์ของ JavaScript และมันจะชัดเจนเมื่อเพิ่มหมายเลขจุดลอยตัวทั้งสอง ฟังก์ชั่นนี้ส่งคืนผลลัพธ์ที่แม่นยำยิ่งขึ้นของการเพิ่ม
พารามิเตอร์: ARG1: จำนวนบวกครั้งแรก;
โทร: calc.add (arg1, arg2, d)
ค่าส่งคืน: ผลลัพธ์ของสองตัวเลขเพิ่ม
-
เพิ่ม: ฟังก์ชั่น (arg1, arg2, d) {
arg1 = arg1.toString (), arg2 = arg2.toString ();
var arg1arr = arg1.split ("."), arg2arr = arg2.split ("."), d1 = arg1arr.length == 2? [1]: "" ;;
var maxlen = math.max (d1.length, d2.length);
var m = math.pow (10, maxlen);
var result = number ((arg1 * m + arg2 * m) / m) .tofixed (maxlen));
var d = อาร์กิวเมนต์ [2];
return typeof d === "number"?
-
-
ฟังก์ชั่น: ฟังก์ชั่นการลบเพื่อให้ได้ผลลัพธ์การลบที่แม่นยำ
หมายเหตุ: ฟังก์ชั่นส่งคืนผลลัพธ์การลบที่แม่นยำยิ่งขึ้น
พารามิเตอร์: ARG1: ข้อดีครั้งแรก;
โทร: calc.sub (arg1, arg2)
ค่าส่งคืน: ผลลัพธ์ของการลดตัวเลขสองตัว
-
Sub: ฟังก์ชั่น (arg1, arg2) {
return calc.add (arg1, -number (arg2), อาร์กิวเมนต์ [2]);
-
-
ฟังก์ชั่น: ฟังก์ชั่นการคูณใช้เพื่อให้ได้ผลลัพธ์การคูณที่แม่นยำ
หมายเหตุ: ฟังก์ชั่นส่งคืนผลลัพธ์การคูณที่แม่นยำยิ่งขึ้น
พารามิเตอร์: Arg1: การคูณครั้งแรก;
โทร: calc.mul (arg1, arg2)
ค่าส่งคืน: ผลลัพธ์ของการคูณของสองตัวเลข
-
MUL: ฟังก์ชั่น (arg1, arg2) {
var r1 = arg1.toString (), r2 = arg2.toString (), m, resultVal, d = อาร์กิวเมนต์ [2];
m = (r1.split (".") [1]? r1.split (".") [1] .length: 0) + (r2.split (".") [1]? r2.split (" ".") [1]. ความยาว: 0);
resultVal = number (r1.replace (".", "") * หมายเลข (r2.replace (".", "") / math.pow (10, m);
return typeof d! == "number"?
-
-
ฟังก์ชั่น: ยกเว้นวิธีการรับผลการกำจัดที่แม่นยำ
หมายเหตุ: ฟังก์ชั่นส่งคืนผลลัพธ์การกำจัดที่แม่นยำยิ่งขึ้น
พารามิเตอร์: Arg1: Division;
โทร: calc.div (arg1, arg2)
ค่าส่งคืน: arg1 ยกเว้นผลลัพธ์ของ arg2
-
div: ฟังก์ชั่น (arg1, arg2) {
var r1 = arg1.toString (), r2 = arg2.toString (), m, resultVal, d = อาร์กิวเมนต์ [2];
m = (r2.split (".") [1]? r2.split (".") [1] .length: 0) - (r1.split (".")? r1.split ("". " ) [1]. ความยาว: 0);
resultVal = number (r1.replace (".", "") / number (r2.replace (".", "") * math.pow (10, m);
return typeof d! == "number"?
-
-
จัดรูปแบบค่าหลังจากเข้าสู่บ้านห้าหลัง
@Param num value (หมายเลขหรือสตริง)
@Param Center ที่จะเก็บรักษาไว้
@param Isthing พันคุณต้องการหนึ่งพันคะแนน 0: ไม่จำเป็น, 1: ความต้องการ (ประเภทตัวเลข);
@return String String เช่น '1,234,567.45'
@type String
โทร: calc.formatNumber (num, cent, ISTHONUNS)
-
formatNumber: forc ดี formatnumber (num, cent, iSthinging) {
num = num.toString ()
ถ้า (isnan (num)) // ตรวจสอบจำนวนค่าไอดีสำหรับประเภทตัวเลข
num = "0";
ถ้า (isnan (cent)) // ตรวจสอบให้แน่ใจว่ามีการแนะนำจำนวนน้อยกับค่าประเภทค่า
ศูนย์ = 0;
center = parseint (กึ่งกลาง);
center = math.abs (กึ่งกลาง); // ค้นหาตัวเลขทศนิยมเพื่อให้แน่ใจว่าเป็นจำนวนเต็มบวก
ถ้า (ISNAN (ISTHONANDE)) // ตรวจสอบให้แน่ใจว่าจำเป็นต้องส่งผ่านเป็นพันคะแนนเป็นประเภทตัวเลขหรือไม่
ISTHONANDER = 0;
ISTHONEND = PARSEINT (ISTHONANDE);
ถ้า (ISTHINENS <0)
ISTHONANDER = 0;
ถ้า (ISTHONENS> = 1) // ตรวจสอบให้แน่ใจว่าค่าไอดีเป็นเพียง 0 หรือ 1
ISTHONANDER = 1;
sign = (num == (num = math.abs (num)); // รับสัญลักษณ์ (บวก/ลบ)
//math.floor: ส่งคืนจำนวนเต็มสูงสุดที่น้อยกว่าเท่ากับพารามิเตอร์ตัวเลข
num = math.floor (num*math.pow (10, ศูนย์กลาง) +0.50000000001);
center = num%math.pow (10, center); // ค้นหาค่าเลขทศนิยม
num = math.floor (num/math.pow (10, center))
ques = center.toString (); // แปลงบิตทศนิยมเป็นสตริงเพื่อค้นหาความยาวของทศนิยม
ในขณะที่ (central.length <cent) {// ทำหมายเลขเป็นตัวเลขที่ระบุ
center = "0" + ศูนย์;
-
ถ้า (ISTHONANDE == 0) // ไม่จำเป็นต้องใช้โควต้านับพัน
return ((ลงชื่อ)? '': '-') + num + '
// จัดรูปแบบชิ้นส่วนจำนวนเต็มสำหรับหลายพันคะแนน
สำหรับ (var i = 0; i <math.floor ((num.length- (1+i))/3); i ++)
num = num.substring (0, num.length- (4*i+3))+'+
num.substring (num.length- (4*i+3));
return ((ลงชื่อ)? '': '-') + num + '
-
-
window.calc = calc;
-