نسخ رمز رمز على النحو التالي:
(وظيفة () {)
var calc =
/*
وظيفة ، إضافة وظائف للحصول على نتائج دقيقة للطريقة الإضافية
ملاحظة: ستكون هناك أخطاء في نتائج JavaScript ، وسيكون من الواضح عند إضافة أرقام النقطة العائمة. هذه الوظيفة تُرجع نتيجة أكثر دقة للإضافة.
المعلمات: Arg1: الرقم الإضافي الأول ؛
Call: Calc.add (Arg1 ، Arg2 ، D)
قيمة الإرجاع: تضيف نتائج رقمين
*/
إضافة: وظيفة (Arg1 ، Arg2 ، D) {
Arg1 = arg1.toString () ، arg2 = arg2.toString () ؛
var arg1arr = arg1.split (".") ، arg2arr = argplit (".") ، 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] ؛
إرجاع نوع D === "رقم"؟
} ،
/*
الوظيفة: وظيفة الطرح للحصول على نتائج دقة للطرح
ملاحظة: تقوم الوظيفة بإرجاع نتيجة طرح أكثر دقة.
المعلمات: Arg1: الالتزام الأول ؛
Call: Calc.sub (Arg1 ، Arg2)
قيمة الإرجاع: نتيجة لخفض الرقمين
*/
Sub: Function (Arg1 ، Arg2) {
return calc.add (arg1 ، -number (arg2) ، الحجج [2]) ؛
} ،
/*
الوظيفة: وظيفة الضرب ، تستخدم للحصول على نتائج مضاعفة دقيقة
ملاحظة: تقوم الوظيفة بإرجاع نتيجة تكاثر أكثر دقة.
المعلمات: Arg1: الضرب الأول ؛
Call: Calc.mul (Arg1 ، Arg2)
قيمة الإرجاع: نتيجة تكاثر رقمين
*/
MUL: Function (Arg1 ، Arg2) {
var r1 = arg1.toString () ، r2 = arg2.toString () ، m ، resultval ، d = الوسيطات [2] ؛
m = (r1.split (".") [1]؟ r1.split (".") [1] ".") [1]. الطول: 0) ؛
resultval = number (r1.replace (".
إرجاع نوع D!
} ،
/*
الوظيفة: باستثناء طريقة الحصول على نتائج إزالة دقيقة
ملاحظة: تقوم الوظيفة بإرجاع نتيجة الإزالة الأكثر دقة.
المعلمات: Arg1: يجب أن يتم تحفظ Arg2 ؛
Call: Calc.div (Arg1 ، Arg2)
قيمة الإرجاع: Arg1 باستثناء نتائج Arg2
*/
Div: Function (Arg1 ، Arg2) {
var r1 = arg1.toString () ، r2 = arg2.toString () ، m ، resultval ، d = الوسيطات [2] ؛
m = (r2.split (".") [1]؟ r2.split (".") [1]. ) [1]. الطول: 0) ؛
resultval = number (r1.replace (".
إرجاع نوع D!
} ،
/*
تنسيق القيمة بعد دخول المنازل الخمسة.
param num value (الرقم أو السلسلة)
مركز param ليتم الاحتفاظ به
param isthox ، هل تحتاج إلى ألف نقطة 0: لا حاجة ، 1: Need (النوع العددي) ؛
سلسلة تنسيق العودة ، مثل "1،234،567.45"
stringtype
Call: calc.formatnumber (num ، cent ، isthox)
*/
Formatnumber: Function Formatnumber (num ، cent ، isthox) {
num = num.ToString ().
إذا (ISNN (num)) // تحقق من عدد قيم السحب لأنواع رقمية.
num = "0" ؛
إذا (ISNN (Cent)) // تأكد من تقديم العدد الصغير إلى قيمة نوع القيمة.
المركز = 0 ؛
المركز = parseint (الوسط) ؛
Center = Math.ABS (المركز) ؛
إذا (Isnan (isthox)) // ، تأكد مما إذا كان هناك حاجة إلى تمريرها إلى ألف نقطة إلى أنواع رقمية.
ISTHHED = 0 ؛
isthox = parseint (isthox) ؛
إذا (ISTHOSS <0)
ISTHHED = 0 ؛
إذا (ISTHosts> = 1) // تأكد من أن قيمة السحب هي فقط 0 أو 1
ISTHED = 1 ؛
sign = (num == (num = math.abs (num)) ؛ // احصل على الرمز (إيجابي/سلبي)
//math.floor: إرجاع الحد الأقصى عدد صحيح أقل من يساوي معلماتها العددية
Num = Math.Floor (Num*Math.Pow (10 ، Center) +0.500000001) ؛
Center = num ٪ Math.Pow (10 ، Center) ؛
Num = Math.Floor (Num/Math.pow (10 ، Center).
ques = center.toString () ؛
بينما (central.length <cent) {// قم بتكوين الرقم إلى الأرقام المحددة.
Center = "0" + Center ؛
}
إذا (isthox == 0) // لا حاجة إلى الآلاف من الحصص.
العودة (علامة)؟ '': '-') + 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)) ؛
العودة (علامة)؟ '': '-') + num + '.
}
} ؛
window.calc = calc ؛
} ()) ؛