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

js小數(shù)計(jì)算小數(shù)點(diǎn)后顯示多位小數(shù)的實(shí)現(xiàn)方法

 更新時(shí)間:2016年05月30日 15:47:15   投稿:jingxian  
下面小編就為大家?guī)硪黄猨s小數(shù)計(jì)算小數(shù)點(diǎn)后顯示多位小數(shù)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

首先寫一個(gè)demo 重現(xiàn)問題,我使用的是一個(gè)js在線測(cè)試環(huán)境[打開]

改寫displaynum()函數(shù)

function displaynum(){var num = 22.77;alert(num + 10);}

點(diǎn)擊Show按鈕 結(jié)果顯示32.769999999996 出現(xiàn)了N多小數(shù).

也并不是所有數(shù)字都會(huì)出現(xiàn)這種現(xiàn)象, 除了 22.99  2.777 , 好像這幾個(gè)數(shù)字也沒什么特殊.

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

現(xiàn)在有兩種解決方法, 第一種就是利用JS .toFixed(n) 方法, 直接獲取n位小數(shù), 個(gè)人覺得這種方法在數(shù)據(jù)精度上會(huì)有一些問題. 如果數(shù)據(jù)精度要求不高的話 可以使用. 第二種方法就是自己寫js 運(yùn)算方法.

以下是自定義加法函數(shù), 使用此方法進(jìn)行相加會(huì)避免上面問題。

function addNum(num1,num2){var sq1,sq2,m;try{sq1=num1.toString().split(".")[1].length;} catch(e){sq1=0;}try{sq2=num2.toString().split(".")[1].length;} catch(e){sq2=0;}m=Math.pow(10,Math.max(sq1,sq2));return ( num1 * m + num2 * m ) / m;}

當(dāng)然簡單一點(diǎn)也可以寫成 alert((num * 3 + 10 * 3) /3); 這樣也不會(huì)出現(xiàn)n多小數(shù)。

alert((num * 3 + 10 * 3) /3); 與 alert(num + 10); 這兩種寫法計(jì)算機(jī)在底層轉(zhuǎn)換成二進(jìn)制運(yùn)算是有區(qū)別的, 或許這就是出現(xiàn)上述問題的原因

以上這篇js小數(shù)計(jì)算小數(shù)點(diǎn)后顯示多位小數(shù)的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Javascript日期時(shí)間函數(shù)的使用方法舉例

    Javascript日期時(shí)間函數(shù)的使用方法舉例

    在JavaScript中日期時(shí)間函數(shù)是一組用于操作和處理日期和時(shí)間的函數(shù),這些函數(shù)可以用于獲取當(dāng)前日期和時(shí)間、格式化日期和時(shí)間、計(jì)算日期和時(shí)間的差異、轉(zhuǎn)換日期和時(shí)間的格式等,這篇文章主要給大家介紹了關(guān)于Javascript日期時(shí)間函數(shù)的使用方法,需要的朋友可以參考下
    2024-02-02
  • 簡單談?wù)刧ulp-changed插件

    簡單談?wù)刧ulp-changed插件

    這篇文章主要介紹了關(guān)于gulp-changed插件的相關(guān)資料,文中介紹的還是相對(duì)詳細(xì)的,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • JavaScript設(shè)計(jì)模式中的觀察者模式

    JavaScript設(shè)計(jì)模式中的觀察者模式

    這篇文章主要介紹了JavaScript設(shè)計(jì)模式中的觀察者模式,觀察者設(shè)計(jì)模式適用于監(jiān)聽一對(duì)多的操作,例如監(jiān)聽對(duì)象屬性的修改等等,觀察者模式能夠降低代碼耦合度,提升可擴(kuò)展性
    2022-06-06
  • 原生js實(shí)現(xiàn)jquery函數(shù)animate()動(dòng)畫效果的簡單實(shí)例

    原生js實(shí)現(xiàn)jquery函數(shù)animate()動(dòng)畫效果的簡單實(shí)例

    下面小編就為大家?guī)硪黄鷍s實(shí)現(xiàn)jquery函數(shù)animate()動(dòng)畫效果的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-08
  • js 回車提交表單兩種實(shí)現(xiàn)方法

    js 回車提交表單兩種實(shí)現(xiàn)方法

    js 回車提交一些新手朋友還是比較陌生的,本文介紹兩種實(shí)現(xiàn)方法:jQuery方法、JavaScript方法,感興趣的朋友可以研究下
    2012-12-12
  • 深入理解JavaScript 中的匿名函數(shù)((function() {})();)與變量的作用域

    深入理解JavaScript 中的匿名函數(shù)((function() {})();)與變量的作用域

    匿名函數(shù)沒有實(shí)際名字的函數(shù),匿名函數(shù)(function() {})();是一個(gè)特殊的閉包寫法。本文蛀牙給大家介紹JavaScript 中的匿名函數(shù)((function() {})();)與變量的作用域,需要的朋友可以參考下
    2018-08-08
  • javaScript日期工具類DateUtils詳解

    javaScript日期工具類DateUtils詳解

    這篇文章主要為大家詳細(xì)介紹了javaScript日期工具類DateUtils,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • JavaScript通過改變文字透明度實(shí)現(xiàn)的文字閃爍效果實(shí)例

    JavaScript通過改變文字透明度實(shí)現(xiàn)的文字閃爍效果實(shí)例

    這篇文章主要介紹了JavaScript通過改變文字透明度實(shí)現(xiàn)的文字閃爍效果,結(jié)合完整實(shí)例形式分析了javascript基于定時(shí)器周期性動(dòng)態(tài)修改頁面元素屬性的相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • Bootstrap Search Suggest使用例子

    Bootstrap Search Suggest使用例子

    這篇文章主要為大家詳細(xì)介紹了Bootstrap Search Suggest使用例子,教大家使用bootstrap搜索建議插件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JavaScript常用的彈出廣告及背投廣告實(shí)現(xiàn)方法

    JavaScript常用的彈出廣告及背投廣告實(shí)現(xiàn)方法

    這篇文章主要介紹了JavaScript常用的彈出廣告及背投廣告實(shí)現(xiàn)方法,實(shí)例分析了彈出廣告與背投廣告的實(shí)現(xiàn)原理與相關(guān)技巧,需要的朋友可以參考下
    2015-02-02

最新評(píng)論

商丘市| 寻甸| 曲水县| 高淳县| 桂林市| 右玉县| 博爱县| 辉南县| 济源市| 临沭县| 西安市| 读书| 五台县| 滨海县| 吉安市| 汶川县| 会同县| 乐业县| 庆阳市| 定日县| 家居| 吉首市| 云林县| 江津市| 沙河市| 都安| 修文县| 红桥区| 富锦市| 开封县| 商城县| 旺苍县| 银川市| 安福县| 寿宁县| 酉阳| 两当县| 东海县| 石家庄市| 仲巴县| 阳山县|