<address id="x349r"></address>
    <label id="x349r"></label>
      <menu id="x349r"><acronym id="x349r"></acronym></menu>
    1. 新聞: 服務(wù)熱線:010-56153651/136-9361-0533
      在線溝通
      599385821
      010-56153651

      jquery解決小數(shù)點(diǎn)相加精度缺失問題

      發(fā)布時間:2020-01-08 來源: 作者:[ 北京網(wǎng)站制作 · 思睿鴻途 ] 訪問量:5290

      和大家分享一個有趣的測試:

      0.1+0.2 == 0.3 //false
      頓時郁悶,好吧!原來0.1+0.2變成:0.30000000000000004
      再來一個 2.4/0.8 =>2.9999999999999996 沒辦法換種方式,都轉(zhuǎn)換成整數(shù) (2.4 * 100)/(0.8 * 100)
      10.22 現(xiàn)在要減去 0.11 結(jié)果值又出現(xiàn)了很多的小數(shù) 10.110000000000001,然后我就用了 toFixed 方法來過濾小數(shù),但是不知道跟前面那種轉(zhuǎn)換成整數(shù)后再執(zhí)行哪種效率高,好!還是試下再說吧!

      image.png

      查了一些資料,一是 JavaScript 浮點(diǎn)數(shù)計算的 Bug,另一個是和計算機(jī)最終轉(zhuǎn)換成二進(jìn)制計算有關(guān)系,但是為什么不是所有小數(shù)都會有這種現(xiàn)象,目前我也不清楚,有時間再去深入研究一下。

      解決方法:
      解決這種問題兩種方法,第一種就是利用JavaScript 的toFixed(n) 方法,直接獲取N 位小數(shù),不過,個人覺得這種方法在數(shù)據(jù)精度上會有一些問題。如果數(shù)據(jù)精度要求不高的話可以使用。

      alert((0.1 + 0.2).toFixed(1));

      第二種方法就是自己編寫運(yùn)算方法。以下是自定義加法函數(shù),使用此方法進(jìn)行相加會避免上面問題。

      image.png
      image.png

      聯(lián)系我們


      地址:北京市朝陽區(qū)湯立路218號7層

      電話:010-56153651

      郵箱:[email protected]


      歡迎您來到北京思睿鴻途科技有限公司,我們專注
      北京網(wǎng)站建設(shè)、北京企業(yè)網(wǎng)站運(yùn)維服務(wù)。

      <address id="x349r"></address>
      <label id="x349r"></label>
        <menu id="x349r"><acronym id="x349r"></acronym></menu>
      1. 男人扒开女人腿桶到爽免费app | 免费黄色小说在线观看 | 三级片AAAA | 免费做爱视频网站 | 免费韩国羞羞网站视频 |