最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js關(guān)于精確計算和數(shù)值格式化以及直接引js文件

 更新時間:2014年01月28日 15:18:07   作者:  
本文為大家介紹下關(guān)于精確計算和數(shù)值格式化以及直接引js文件,大家可以學(xué)習(xí)下
復(fù)制代碼 代碼如下:

(function () {
var calc = {
/*
函數(shù),加法函數(shù),用來得到精確的加法結(jié)果
說明:javascript的加法結(jié)果會有誤差,在兩個浮點數(shù)相加的時候會比較明顯。這個函數(shù)返回較為精確的加法結(jié)果。
參數(shù):arg1:第一個加數(shù);arg2第二個加數(shù);d要保留的小數(shù)位數(shù)(可以不傳此參數(shù),如果不傳則不處理小數(shù)位數(shù))
調(diào)用:Calc.Add(arg1,arg2,d)
返回值:兩數(shù)相加的結(jié)果
*/
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;
},
/*
函數(shù):減法函數(shù),用來得到精確的減法結(jié)果
說明:函數(shù)返回較為精確的減法結(jié)果。
參數(shù):arg1:第一個加數(shù);arg2第二個加數(shù);d要保留的小數(shù)位數(shù)(可以不傳此參數(shù),如果不傳則不處理小數(shù)位數(shù)
調(diào)用:Calc.Sub(arg1,arg2)
返回值:兩數(shù)相減的結(jié)果
*/
Sub: function (arg1, arg2) {
return Calc.Add(arg1, -Number(arg2), arguments[2]);
},
/*
函數(shù):乘法函數(shù),用來得到精確的乘法結(jié)果
說明:函數(shù)返回較為精確的乘法結(jié)果。
參數(shù):arg1:第一個乘數(shù);arg2第二個乘數(shù);d要保留的小數(shù)位數(shù)(可以不傳此參數(shù),如果不傳則不處理小數(shù)位數(shù))
調(diào)用:Calc.Mul(arg1,arg2)
返回值:兩數(shù)相乘的結(jié)果
*/
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)));
},
/*
函數(shù):除法函數(shù),用來得到精確的除法結(jié)果
說明:函數(shù)返回較為精確的除法結(jié)果。
參數(shù):arg1:除數(shù);arg2被除數(shù);d要保留的小數(shù)位數(shù)(可以不傳此參數(shù),如果不傳則不處理小數(shù)位數(shù))
調(diào)用:Calc.Div(arg1,arg2)
返回值:arg1除于arg2的結(jié)果
*/
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)));
},
/*
將數(shù)值四舍五入后格式化.
@param num 數(shù)值(Number或者String)
@param cent 要保留的小數(shù)位(Number)
@param isThousand 是否需要千分位 0:不需要,1:需要(數(shù)值類型);
@return 格式的字符串,如'1,234,567.45'
@type String
調(diào)用:Calc.FormatNumber(num,cent,isThousand)
*/
FormatNumber: function formatNumber(num,cent,isThousand){
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))//檢查傳入數(shù)值為數(shù)值類型.
num = "0";
if(isNaN(cent))//確保傳入小數(shù)位為數(shù)值型數(shù)值.
cent = 0;
cent = parseInt(cent);
cent = Math.abs(cent);//求出小數(shù)位數(shù),確保為正整數(shù).
if(isNaN(isThousand))//確保傳入是否需要千分位為數(shù)值類型.
isThousand = 0;
isThousand = parseInt(isThousand);
if(isThousand < 0)
isThousand = 0;
if(isThousand >=1) //確保傳入的數(shù)值只為0或1
isThousand = 1;
sign = (num == (num = Math.abs(num)));//獲取符號(正/負(fù)數(shù))
//Math.floor:返回小于等于其數(shù)值參數(shù)的最大整數(shù)
num = Math.floor(num*Math.pow(10,cent)+0.50000000001);//把指定的小數(shù)位先轉(zhuǎn)換成整數(shù).多余的小數(shù)位四舍五入.
cents = num%Math.pow(10,cent); //求出小數(shù)位數(shù)值.
num = Math.floor(num/Math.pow(10,cent)).toString();//求出整數(shù)位數(shù)值.
cents = cents.toString();//把小數(shù)位轉(zhuǎn)換成字符串,以便求小數(shù)位長度.
while(cents.length<cent){//補(bǔ)足小數(shù)位到指定的位數(shù).
cents = "0" + cents;
}
if(isThousand == 0) //不需要千分位符.
return (((sign)?'':'-') + num + '.' + cents);
//對整數(shù)部分進(jìn)行千分位格式化.
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;
}());

相關(guān)文章

  • 分享幾種比較簡單實用的JavaScript tabel切換

    分享幾種比較簡單實用的JavaScript tabel切換

    這篇文章主要分享幾種比較簡單實用的JavaScript tabel切換 的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • JS中生成隨機(jī)數(shù)的用法及相關(guān)函數(shù)

    JS中生成隨機(jī)數(shù)的用法及相關(guān)函數(shù)

    這篇文章主要為大家介紹了JS中生成隨機(jī)數(shù)的用法,為大家提供了相關(guān)函數(shù)的使用方法,感興趣的朋友可以參考一下
    2016-01-01
  • ES6字符串的擴(kuò)展實例

    ES6字符串的擴(kuò)展實例

    這篇文章主要介紹了ES6字符串的擴(kuò)展實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 如何在uni-app使用微軟的文字轉(zhuǎn)語音服務(wù)

    如何在uni-app使用微軟的文字轉(zhuǎn)語音服務(wù)

    有了語音識別,交流就會變得很簡單,下面這篇文章主要給大家介紹了關(guān)于如何在uni-app使用微軟的文字轉(zhuǎn)語音服務(wù)的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • JS?ES5創(chuàng)建常量詳解

    JS?ES5創(chuàng)建常量詳解

    這篇文章主要介紹了JS?ES5創(chuàng)建常量詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-07-07
  • layer.open屬性詳解及l(fā)ayer.open彈出框使用post方法舉例

    layer.open屬性詳解及l(fā)ayer.open彈出框使用post方法舉例

    這篇文章主要給大家介紹了關(guān)于layer.open屬性詳解及l(fā)ayer.open彈出框使用post方法的相關(guān)資料,最近接觸到layer彈窗,感覺彈窗功能異常強(qiáng)大,真的很方便,所以記錄下來,需要的朋友可以參考下
    2023-12-12
  • 基于JavaScript實現(xiàn)div層跟隨滾動條滑動

    基于JavaScript實現(xiàn)div層跟隨滾動條滑動

    項目需求是這樣的:在一個頁面放2個懸浮框,懸浮框隨頁面的上下滾動有上下波動的效果,最終固定在同一位置,下面通過本文給大家分享基于JavaScript實現(xiàn)div層跟隨滾動條滑動的相關(guān)資料,對js div跟隨滾動條滑動相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • 微信小程序swiper實現(xiàn)文字縱向輪播提示效果

    微信小程序swiper實現(xiàn)文字縱向輪播提示效果

    這篇文章主要介紹了微信小程序swiper實現(xiàn)文字縱向輪播提示效果,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • 微信小程序防止多次點擊跳轉(zhuǎn)(函數(shù)節(jié)流)

    微信小程序防止多次點擊跳轉(zhuǎn)(函數(shù)節(jié)流)

    這篇文章主要介紹了微信小程序防止多次點擊跳轉(zhuǎn)問題(函數(shù)節(jié)流),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • JS刪除數(shù)組中某個元素的四種方式總結(jié)

    JS刪除數(shù)組中某個元素的四種方式總結(jié)

    js刪除指定元素方法有很多,下面這篇文章主要給大家介紹了關(guān)于JS刪除數(shù)組中某個元素的四種方式,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02

最新評論

荆门市| 郁南县| 商城县| 公主岭市| 阿城市| 荥阳市| 凤冈县| 南江县| 武隆县| 宜昌市| 阳信县| 威海市| 石门县| 桐梓县| 洛宁县| 嘉定区| 闽清县| 当阳市| 金寨县| 桦南县| 靖宇县| 定兴县| 霞浦县| 灌云县| 合江县| 石家庄市| 子长县| 四平市| 景洪市| 茌平县| 元谋县| 中阳县| 桃源县| 商洛市| 东台市| 巴东县| 金沙县| 湾仔区| 承德市| 璧山县| 富民县|