วิธีแรกที่นี่คือการใช้ JavaScript เพื่อแปลงหมายเลขหมายเลขเป็นรูปแบบสตริงสกุลเงิน (พารามิเตอร์: รักษาตำแหน่งทศนิยมสัญลักษณ์สกุลเงิน, ตัวคั่นหลายพันตัวแยกส่วนจำนวนเต็มตัวคั่นทศนิยม)
วิธีที่สองที่นี่คือการแปลงอักขระสกุลเงินเป็นสตริงตัวเลขบริสุทธิ์ด้วยนิพจน์ปกติอย่างง่ายจากนั้นคุณสามารถแปลงสตริงเป็นตัวเลขตัวเลข
รูปแบบเงิน JavaScript (ขยายหมายเลขด้วยต้นแบบ)
// ขยายวัตถุหมายเลขเริ่มต้นด้วยวิธีการ formatmoney (): // การใช้งาน: somevar.formatmoney (decimalplaces, สัญลักษณ์, หลายพันคน, decimalsparator) // ค่าเริ่มต้น: (2, "$", ",", ") สถานที่: 2; Symbol = Symbol! == ไม่ได้กำหนด? สัญลักษณ์: "$"; พัน = พัน || - ทศนิยม = ทศนิยม || - var number = this, negative = number <0? "-": "", i = parseInt (number = math.abs ( + number || 0) .tofixed (สถานที่), 10) + "", j = (j = i.length)> 3? J % 3: 0; คืนสัญลักษณ์ + ลบ + (j? i.substr (0, j) + พัน: "") + i.substr (j). แทนที่ (/(/d {3}) (? =/d)/g, "$ 1" + พัน) + (สถานที่?นี่คือตัวอย่างการแปลง:
// การใช้งานเริ่มต้นและความแม่นยำ/สัญลักษณ์ที่กำหนดเอง: VAR Revenue = 12345678; Alert (รายได้ FormatMoney ()); // $ 12,345,678.00ALERT (รายได้ FORMATMONEY (0, "HK $")); // hk $ 12,345,678 // การจัดรูปแบบยุโรป: var price = 4999.99; Alert (price.formatmoney (2, ",", ",", ",")); // .999,99 // มันใช้งานได้กับค่าลบเช่นกัน
สกุลเงินเป็นหมายเลขลบการจัดรูปแบบเงิน (กรองด้วยนิพจน์ทั่วไป)
var price = (12345.99) .FormatMoney (); // "$ 12,345.99" // ลบถ่านที่ไม่ใช่ตัวเลข (ยกเว้นจุดทศนิยม/เครื่องหมายลบ): priceval = parsefloat (price.replace (/[^0-9-.]/g, '')); // 12345.99
วิธีนี้ใช้เฉพาะในรูปแบบที่ตัวคั่นทศนิยมคือ "." หากตัวคั่นทศนิยมคือ "," การแสดงออกปกติคือ /[^0-9-,] /g
เวอร์ชันที่ไม่ใช้ต้นแบบเพื่อขยายจำนวน:
// ในการตั้งค่าเป็นฟังก์ชั่นทั่วโลก: formalmoney (จำนวน, สถานที่, สัญลักษณ์, พัน, ทศนิยม) {number = number || 0; สถานที่ =! isnan (places = math.abs (สถานที่))? สถานที่: 2; Symbol = Symbol! == ไม่ได้กำหนด? สัญลักษณ์: "$"; พัน = พัน || - ทศนิยม = ทศนิยม || - var negative = number <0? "-": "", i = parseInt (number = math.abs ( + number || 0) .tofixed (สถานที่), 10) + "", j = (j = i.length)> 3? J % 3: 0; คืนสัญลักษณ์ + ลบ + (j? i.substr (0, j) + พัน: "") + i.substr (j). แทนที่ (/(/d {3}) (? =/d)/g, "$ 1" + พัน) + (สถานที่? วิธีการ: mylibrary.formatMoney = ฟังก์ชั่น (จำนวน, สถานที่, สัญลักษณ์, พัน, ทศนิยม) {/ * ดังที่อยู่ข้างต้น */} // การใช้งานตัวอย่าง: FormatMoney (54321); // $ 54,321mylibrary.formatmoney (12345, 0, "£"); // £ 12,345ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ JavaScript คุณสามารถตรวจสอบ: "คำแนะนำอ้างอิง JavaScript" และ "คู่มือสไตล์รหัส JavaScript" ฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น