国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何優雅解決 js小數點計算錯誤問題(三個函數告訴你解決辦法)

xcold / 2611人閱讀

摘要:策略就是把小數值變成整數進行操作加減乘除獲取最大補位長度數字補位數字減位

策略就是把小數值變成整數進行操作加減乘除
github --- L6zt

// 獲取最大補位長度
const findMinRadixPoint = (numberList) => {
  let maxLg = 0;
  numberList.forEach(num => {
    let numStr = num.toString();
    let numSplit = numStr.split(".");
    let bitLg =  (numSplit[1] || "").length;
    (bitLg > maxLg) && (maxLg = bitLg)
  });
  return maxLg
};

/*數字補位*/
const numberCoverPosition = (number, length) => {
  let numberStr = String(number);
  let lg = numberStr.length;
  let idx = numberStr.indexOf(".");
  if (idx === -1) {
    return number * Math.pow(10, length);
  } else {
    let addW = length - (lg - 1 - idx);
    let oLoop = "";
    while (addW) {
      oLoop += "0";
      addW--;
    }
    return Number(numberStr.replace(/(d+?).(d+?)/, `$1$2${oLoop}`))
  }
};
/*數字減位*/
const NumberDigitAbsorption = (number, length) => {
  let numberStr = String(number);
  let lg = numberStr.length;
  
  if (lg > length) {
    numberStr = numberStr.substr(0, lg - length) + "." + numberStr.substr(lg - length);
  } else {
    let leftW = length - lg;
    let oLoop = "";
    while (leftW) {
      oLoop += "0";
      leftW--;
    }
    numberStr = "0." + oLoop + numberStr
  }
  return numberStr
};

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102760.html

相關文章

  • 「干貨」細說 Javascript 中的浮點數精度丟失問題(內附好課推薦)

    摘要:前言最近,朋友問了我這樣一個問題在中的運算結果,為什么是這樣的雖然我告訴他說,這是由于浮點數精度問題導致的。由于可以用階碼移動小數點,因此稱為浮點數。它的實現遵循標準,使用位精度來表示浮點數。 showImg(https://segmentfault.com/img/remote/1460000018981071); 前言 最近,朋友 L 問了我這樣一個問題:在 chrome 中的運算...

    senntyou 評論0 收藏0
  • 90年代的興衰——強化學習與遞歸神經網絡

    摘要:強化學習這就是神經網絡流行起來的地方。而且,我們也在這一范圍內取得了強化學習史上最重要的成績之一一個學習并成為西洋雙陸棋玩家的神經網絡。遞歸神經網絡圖。 這是「神經網絡和深度學習簡史」的第三部分(第一部分,第二部分)。在這一部分,我們將繼續了解90年代研究的飛速發展,搞清楚神經網絡在60年代末失去眾多青睞的原因。神經網絡做決定神經網絡運用于無監督學習的發現之旅結束后,讓我們也快速了解一下它們...

    rozbo 評論0 收藏0
  • 【譯】Javascript 面試的完美指南(開發者視角)

    摘要:閉包是返回另一個函數并攜帶數據的函數。當程序的上下文和作用域發生變化時,也會發生相應的變化。之所以是類型,是因為類的構造函數它是類型的。如下這里的是一個回調函數,當成功響應請求時將執行該回調函數。 譯者:前端小智 原文:medium.com/dev-bits/a-… 想閱讀更多優質文章請猛戳GitHub博客,一年百來篇優質文章等著你! 為了說明 JS 面試的復雜性,首先,請嘗試給出以下結果...

    Joonas 評論0 收藏0
  • javascript 面試的完美指南(開發者視角)

    摘要:閉包是返回另一個函數并攜帶數據的函數。當程序的上下文和作用域發生變化時,也會發生相應的變化。之所以是類型,是因為類的構造函數它是類型的。如下這里的是一個回調函數,當成功響應請求時將執行該回調函數。 showImg(https://segmentfault.com/img/bVboyxw?w=2560&h=1440); 想閱讀更多優質文章請猛戳GitHub博客,一年百來篇優質文章等著你!...

    morgan 評論0 收藏0
  • JS核心知識點梳理——變量篇

    摘要:核心知識點梳理數據篇看了一些資料,結合高程和對核心知識點進行了梳理。所以,一共有種聲明變量的方法。凡是在聲明之前就使用這些變量,就會報錯。還是那句話,建議大家掌握核心知識點,細枝末節的東西就隨意啦。 JS核心知識點梳理——數據篇 showImg(https://segmentfault.com/img/bVbo4hv?w=1800&h=1000); 看了一些資料,結合ES6、高程和MD...

    aristark 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<