亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

js關于精確計算和數值格式化以及直接引js文件

2019-11-20 21:11:05
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

(function () {
var calc = {
/*
函數,加法函數,用來得到精確的加法結果
說明:javascript的加法結果會有誤差,在兩個浮點數相加的時候會比較明顯。這個函數返回較為精確的加法結果。
參數:arg1:第一個加數;arg2第二個加數;d要保留的小數位數(可以不傳此參數,如果不傳則不處理小數位數)
調用:Calc.Add(arg1,arg2,d)
返回值:兩數相加的結果
*/
Add: function (arg1, arg2,d) {
arg1 = arg1.toString(), arg2 = arg2.toString();
var arg1Arr = arg1.split("."), arg2Arr = arg2.split("."), d1 = arg1Arr.length == 2 ? arg1Arr[1] : "", d2 = arg2Arr.length == 2 ? arg2Arr[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 = arguments[2];
return typeof d === "number" ? Number((result).toFixed(d)) : result;
},
/*
函數:減法函數,用來得到精確的減法結果
說明:函數返回較為精確的減法結果。
參數:arg1:第一個加數;arg2第二個加數;d要保留的小數位數(可以不傳此參數,如果不傳則不處理小數位數
調用:Calc.Sub(arg1,arg2)
返回值:兩數相減的結果
*/
Sub: function (arg1, arg2) {
return Calc.Add(arg1, -Number(arg2), arguments[2]);
},
/*
函數:乘法函數,用來得到精確的乘法結果
說明:函數返回較為精確的乘法結果。
參數:arg1:第一個乘數;arg2第二個乘數;d要保留的小數位數(可以不傳此參數,如果不傳則不處理小數位數)
調用:Calc.Mul(arg1,arg2)
返回值:兩數相乘的結果
*/
Mul: function (arg1, arg2) {
var r1 = arg1.toString(), r2 = arg2.toString(), m, resultVal, d = arguments[2];
m = (r1.split(".")[1] ? r1.split(".")[1].length : 0) + (r2.split(".")[1] ? r2.split(".")[1].length : 0);
resultVal = Number(r1.replace(".", "")) * Number(r2.replace(".", "")) / Math.pow(10, m);
return typeof d !== "number" ? Number(resultVal) : Number(resultVal.toFixed(parseInt(d)));
},
/*
函數:除法函數,用來得到精確的除法結果
說明:函數返回較為精確的除法結果。
參數:arg1:除數;arg2被除數;d要保留的小數位數(可以不傳此參數,如果不傳則不處理小數位數)
調用:Calc.Div(arg1,arg2)
返回值:arg1除于arg2的結果
*/
Div: function (arg1, arg2) {
var r1 = arg1.toString(), r2 = arg2.toString(), m, resultVal, d = arguments[2];
m = (r2.split(".")[1] ? r2.split(".")[1].length : 0) - (r1.split(".")[1] ? r1.split(".")[1].length : 0);
resultVal = Number(r1.replace(".", "")) / Number(r2.replace(".", "")) * Math.pow(10, m);
return typeof d !== "number" ? Number(resultVal) : Number(resultVal.toFixed(parseInt(d)));
},
/*
將數值四舍五入后格式化.
@param num 數值(Number或者String)
@param cent 要保留的小數位(Number)
@param isThousand 是否需要千分位 0:不需要,1:需要(數值類型);
@return 格式的字符串,如'1,234,567.45'
@type String
調用:Calc.FormatNumber(num,cent,isThousand)
*/
FormatNumber: function formatNumber(num,cent,isThousand){
num = num.toString().replace(//$|/,/g,'');
if(isNaN(num))//檢查傳入數值為數值類型.
num = "0";
if(isNaN(cent))//確保傳入小數位為數值型數值.
cent = 0;
cent = parseInt(cent);
cent = Math.abs(cent);//求出小數位數,確保為正整數.
if(isNaN(isThousand))//確保傳入是否需要千分位為數值類型.
isThousand = 0;
isThousand = parseInt(isThousand);
if(isThousand < 0)
isThousand = 0;
if(isThousand >=1) //確保傳入的數值只為0或1
isThousand = 1;
sign = (num == (num = Math.abs(num)));//獲取符號(正/負數)
//Math.floor:返回小于等于其數值參數的最大整數
num = Math.floor(num*Math.pow(10,cent)+0.50000000001);//把指定的小數位先轉換成整數.多余的小數位四舍五入.
cents = num%Math.pow(10,cent); //求出小數位數值.
num = Math.floor(num/Math.pow(10,cent)).toString();//求出整數位數值.
cents = cents.toString();//把小數位轉換成字符串,以便求小數位長度.
while(cents.length<cent){//補足小數位到指定的位數.
cents = "0" + cents;
}
if(isThousand == 0) //不需要千分位符.
return (((sign)?'':'-') + num + '.' + cents);
//對整數部分進行千分位格式化.
for (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 (((sign)?'':'-') + num + '.' + cents);
}
};
window.Calc = calc;
}());
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品高潮呻吟久久av黑人| 97涩涩爰在线观看亚洲| 红桃av永久久久| 国语自产在线不卡| 欧美激情久久久| 国内精品久久久久影院优| 欧美激情视频播放| 亚洲男人的天堂在线| 日韩av网站电影| 日本精品久久久| 欧美电影免费观看网站| 这里只有精品视频| 欧美人与物videos| 国产精品久久电影观看| 国产精品久久久久久影视| 日韩电影在线观看中文字幕| 国产成人福利夜色影视| 日本精品视频在线观看| 91av在线播放| 色噜噜狠狠狠综合曰曰曰| 久久久久久久久久av| 欧美成人第一页| 亚洲综合日韩在线| 欧美另类在线播放| 欧美怡春院一区二区三区| 欧美亚洲另类制服自拍| 国产精品99久久久久久久久| 青青在线视频一区二区三区| 欧美精品第一页在线播放| 成人福利在线视频| 日韩二区三区在线| 国产精品久久久999| 91深夜福利视频| 亚洲最大福利视频| 欧美亚洲日本网站| 亚洲性生活视频在线观看| 欧美成人合集magnet| 国产精品爽黄69天堂a| 法国裸体一区二区| 亚洲va欧美va国产综合久久| 91精品国产自产在线观看永久| 全球成人中文在线| 亚洲国产精品va在看黑人| 国产视频一区在线| 亚洲精品自拍视频| 欧美成人小视频| 久久久99免费视频| 日韩在线观看高清| 国产一区二区免费| 欧美日韩福利电影| 在线视频日本亚洲性| 奇米4444一区二区三区| 欧美午夜xxx| 日本亚洲精品在线观看| 日韩电影在线观看永久视频免费网站| 一本色道久久88精品综合| 91久久久亚洲精品| 欧美日韩一区二区在线播放| 久久成人在线视频| 亚洲天堂视频在线观看| 日韩电影免费观看在线观看| 欧美疯狂性受xxxxx另类| 2019中文字幕在线免费观看| 亚洲精品日韩欧美| 欧美日韩裸体免费视频| 亚洲精品久久久久| 欧美激情a∨在线视频播放| 这里只有精品在线播放| 欧美大片欧美激情性色a∨久久| 一区二区成人精品| 中文在线资源观看视频网站免费不卡| 成人午夜在线视频一区| 日韩一区av在线| 亚洲国产成人爱av在线播放| 性欧美在线看片a免费观看| 日韩精品欧美国产精品忘忧草| 久久国产精品久久久| 日本精品免费观看| 欧美午夜无遮挡| 成人妇女淫片aaaa视频| 欧美日韩国产黄| 国产精品444| 久精品免费视频| 国产在线一区二区三区| 黑人巨大精品欧美一区二区一视频| 成人国产精品色哟哟| 欧美成人一二三| 亚洲第一中文字幕在线观看| 久久精品国产成人| 久久99视频免费| 久久天堂av综合合色| 麻豆乱码国产一区二区三区| 俺也去精品视频在线观看| 欧美日韩亚洲一区二区三区| 亚洲欧美日韩综合| 日韩电影在线观看永久视频免费网站| 国产精品入口尤物| 国内精品视频久久| 久久久人成影片一区二区三区| 欧洲亚洲妇女av| 国产精品成人免费电影| 亚洲成人性视频| 国精产品一区一区三区有限在线| 成人午夜激情免费视频| 日韩av电影在线免费播放| 欧美激情高清视频| 国模视频一区二区三区| 91精品视频免费看| 国产专区精品视频| 亚洲永久免费观看| 国产精品美女在线| 不卡av在线播放| 欧美一级视频一区二区| 国产欧美久久久久久| 91免费电影网站| 久久久久成人精品| 久久久久www| 久久99视频免费| 亚洲精品国精品久久99热一| 日韩成人av在线| 日韩精品一区二区三区第95| 91美女高潮出水| 亚洲国产精品va在线观看黑人| 日韩精品亚洲元码| 欧美www在线| 欧美激情视频在线| 欧美精品18videos性欧美| 国产91久久婷婷一区二区| 欧美性xxxxx极品| 91国自产精品中文字幕亚洲| 黑人与娇小精品av专区| 欧洲午夜精品久久久| 中文字幕无线精品亚洲乱码一区| 日韩小视频在线观看| 亚洲欧美国产高清va在线播| 国产精品成人一区二区三区吃奶| 亚洲欧洲偷拍精品| 久久69精品久久久久久国产越南| 亚洲国产欧美久久| 日韩免费av片在线观看| 欧美性视频精品| 国产不卡在线观看| 国产亚洲精品美女久久久久| 色无极影院亚洲| 国产精品久久久一区| 日韩高清有码在线| 亚洲天堂av在线免费| 久久久噜噜噜久久久| 欧美性猛交xxxx乱大交极品| 精品久久久久人成| 欧美亚洲视频一区二区| 久久久999精品免费| 国产精品青草久久久久福利99| 国产日韩欧美在线| 成人亚洲欧美一区二区三区| 色偷偷888欧美精品久久久| 国内精品视频久久| 久久好看免费视频| 国产一区二区三区在线观看视频| 成人一区二区电影| 精品中文字幕视频| 亚洲欧美日韩一区二区在线| 国产精品黄色av| 亚洲欧洲美洲在线综合|