国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - js加減乘除精確運算方法實例代碼

js加減乘除精確運算方法實例代碼

2022-01-04 16:21``木頭人``` js教程

這篇文章主要給大家介紹了關于js加減乘除精確運算方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

因為計算機數字是浮點型,所以在計算過程中通常得到的并不是一個準確的數據,所以在做一些數組運算的時候比較頭疼,我們這里就來寫一下精確運算的方法

首先是加法 (這里以兩個數據相加為例)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function add(arg1, arg2) {
 
     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); // 這里表示10的小數點長度次方 也就是說如果小數點長度為2 m的值就是100 如果小數點長度是3 m的值就是1000如果不懂請自行查找api
  var result = Number(((arg1 * m + arg2 * m) / m).toFixed(maxLen)); // 將小數轉化為整數后相加在除掉兩個數乘過的倍數然后去小數點較長的長度的小數位數
  var d = arguments[2]; // 第三個參數用戶可以自行決定是否要傳遞 用來定義要保留的小數長度
  return typeof d === "number" ? Number((result).toFixed(d)) : result;
}
 
add(12.123, 12)

然后是減法 (減法其實就是一個數組加上另一個數字的負數所以和加法邏輯相同)

?
1
2
3
function sun(arg1, arg2) {
return add(arg1, -arg2)
}

其次是乘法

?
1
2
3
4
5
6
7
8
9
10
function mul(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); // 獲取兩個數字的小數位數的和
// 乘積的算法就是去掉小數點做整數相乘然后除去10的所有小數位的次方
resultVal = Number(r1.replace(".", "")) * Number(r2.replace(".", "")) / Math.pow(10, m);
 
return typeof d !== "number" ? Number(resultVal) : Number(resultVal.toFixed(parseInt(d)));
}

最后是減法 (除法和乘法就是一個相反的過程,不做過多解釋)

?
1
2
3
4
5
6
7
8
function div(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)));
    }

總結

到此這篇關于js加減乘除精確運算方法的文章就介紹到這了,更多相關js加減乘除精確運算內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/wjw0125/article/details/112656538

延伸 · 閱讀

精彩推薦
  • js教程js中延遲加載和預加載的具體使用

    js中延遲加載和預加載的具體使用

    這篇文章主要介紹了js中延遲加載和預加載的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    Yushia5822021-12-31
  • js教程Javascript實現漢字和拼音互轉的終極方案

    Javascript實現漢字和拼音互轉的終極方案

    網上關于JS實現漢字和拼音互轉的文章很多,但是比較雜亂,有的不支持多音字、不支持聲調或者字典文件太大,無法根據實際需要滿足需求。這篇文章給...

    我是小茗同學10152021-12-15
  • js教程詳解JavaScript中分解數字的三種方法

    詳解JavaScript中分解數字的三種方法

    這篇文章主要介紹了在JavaScript中分解數字的三種方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下...

    Hunter網絡安全6112021-12-27
  • js教程JS+JQuery實現無縫連接輪播圖

    JS+JQuery實現無縫連接輪播圖

    這篇文章主要介紹了JS+JQuery實現無縫連接輪播圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    南柯Seven7642021-12-23
  • js教程繪制微信小程序驗證碼功能的實例代碼

    繪制微信小程序驗證碼功能的實例代碼

    這篇文章主要介紹了繪制微信小程序驗證碼功能的實例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參...

    WALL*E8742021-12-27
  • js教程JavaScript this關鍵字的深入詳解

    JavaScript this關鍵字的深入詳解

    這篇文章主要給大家介紹了關于JavaScript this關鍵字的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要...

    JAVA_樸先生9052021-12-31
  • js教程three.js中多線程的使用及性能測試詳解

    three.js中多線程的使用及性能測試詳解

    這篇文章主要給大家介紹了關于three.js中多線程的使用及性能測試的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考...

    郭先生的博客4452021-12-28
  • js教程js實現隨機點名功能

    js實現隨機點名功能

    這篇文章主要為大家詳細介紹了js實現隨機點名功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    等待的L先生4912021-12-16
主站蜘蛛池模板: 久久精品日产第一区二区三区 | 成人在线免费观看小视频 | 亚洲欧美日韩国产综合 | 亚洲精品福利 | 亚洲欧美在线视频 | av福利在线观看 | 欧美日韩91| 在线a视频 | 不卡在线一区 | 日韩精品一区二区三区视频播放 | 欧美一区二区三区成人 | 日韩一二区| 亚洲二区在线观看 | 亚洲视频aaa | 久久精品日韩 | 日本精品一区二区三区在线观看 | 久久久久久久久国产精品 | 久久草在线视频 | 国产精品久久久久久久久久久久冷 | 久久久久久久久久久蜜桃 | 欧美久久久久久 | 亚洲天堂中文字幕在线观看 | 亚洲国产网站 | 国产精品一区二区av | 懂色一区| 亚洲精品一区二区三区在线观看 | 精久久久| 91精品国产一区二区三区四区在线 | 国产精品久久久久久久午夜 | 国产一级在线 | 国产精品久久国产精品 | 综合二区 | 国产精品久久久久一区二区三区 | 日本视频在线 | 深夜在线视频 | 国产中文字幕在线观看 | 精品天堂 | 亚洲视频一区在线 | 88av网站 | 亚洲综合中文字幕在线观看 | 中国黄色一级 |