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

JavaScript中保留小數(shù)點(diǎn)后N位方法總結(jié)

 更新時(shí)間:2023年06月01日 11:59:46   作者:時(shí)傾  
這篇文章主要為大家詳細(xì)介紹了JavaScript中保留小數(shù)點(diǎn)后N位的幾個(gè)常用方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下

四舍五入保留小數(shù)后 n 位

補(bǔ)0: 使用 toFixed(digits) 方法

  • 四舍五入為指定的小數(shù)位數(shù)
  • 返回字符串
  • 小數(shù)實(shí)際位數(shù)不夠指定的位數(shù),不足的部分會(huì)補(bǔ) 0
(1).toFixed(2) // '1.00'
(1.2).toFixed(2) // '1.20'
(-2).toFixed(2) // '-2.00'
(1.12345678).toFixed(7) // '1.1234568'

劣勢

  • 參數(shù)必須是 0 ~ 20 之間的值,包括 0 和 20。參數(shù) < 0 報(bào)錯(cuò)。
  • 會(huì)出現(xiàn)數(shù)字精度問題。詳見ECMAScript 中的 toFixed 定義。
(1111111111.1234567891234).toFixed(8) // '1111111111.12345672'

不補(bǔ)0:自定義轉(zhuǎn)換方法

  • 四舍五入為指定的小數(shù)位數(shù)
  • 返回?cái)?shù)字
  • 小數(shù)實(shí)際位數(shù)不夠指定的位數(shù),不足的部分不會(huì)補(bǔ) 0
function roundFun(number, precision) {
  return Math.round(+number + 'e' + precision) / Math.pow(10, precision);
}
// 或
function roundFun(number, precision) {
  return Math.round(number * Math.pow(10, precision)) / Math.pow(10, precision);
}
roundFun(1, 2) // 1
roundFun(1.2, 2) // 1.2
roundFun(-2, 2) // -2
roundFun(1.12345678, 7) // 1.1234568
roundFun(1111111111.1234567891234, 8) // 1111111111.1234567

精確顯示小數(shù)后 n 位

不補(bǔ)0

  • 精確保留小數(shù)后 n 位
  • 返回?cái)?shù)字
  • 小數(shù)實(shí)際位數(shù)不夠指定的位數(shù),不足的部分不會(huì)補(bǔ) 0
const keepDecimal = (numStr, precision) => {
  const regexp = new RegExp(`^\\d+(?:\\.\\d{0,${precision}})?`)
  const result = numStr.match(regexp)
  return result ? result[0] : '0'
}
keepDecimal('1', 2) // '1'
keepDecimal('1.2', 2) // '1.2'
keepDecimal('1.12345678', 7) // '1.1234567'
keepDecimal('12345.1234567891234', 8) // '12345.12345678'
keepDecimal('123456789.1234567891234', 10) // '123456789.1234567891'

劣勢

  • 不支持負(fù)數(shù)
  • 不支持字符串
keepDecimal('-2', 2) // '0'
keepDecimal('122sss', 10) // '122'
keepDecimal('abcd', 10) // '0'

補(bǔ)0

  • 精確保留小數(shù)后 n 位
  • 返回字符串
  • 小數(shù)實(shí)際位數(shù)不夠指定的位數(shù),不足的部分會(huì)補(bǔ) 0
const keepDecimal = (numStr, precision) => {
  const regexp = new RegExp(`^\\d+(?:\\.\\d{0,${precision}})?`)
  const result = numStr.match(regexp)
  return result ? result[0] : '0'
}

const keepDecimalPlaces = (numStr, precision) => {
  let numberStr = keepDecimal(numStr, precision)
  let rs = numberStr.indexOf('.')
  if (rs < 0 && precision > 0) {
    rs = numberStr.length
    numberStr += '.'
  }
  while (numberStr.length <= rs + precision) {
    numberStr += '0'
  }
  return numberStr
}
keepDecimalPlaces('1', 2) // '1.00'
keepDecimalPlaces('1.2', 2) // '1.20'
keepDecimalPlaces('1.12345678', 7) // '1.1234567'
keepDecimalPlaces('12345.1234567891234', 8) // '12345.12345678'
keepDecimalPlaces('123456789.1234567891234', 10) // '123456789.1234567891'
keepDecimalPlaces('123456789.000001', 10) // '123456789.0000010000'

劣勢

  • 不支持負(fù)數(shù)
  • 不支持字符串
keepDecimalPlaces('-2', 2) // '0.00'
keepDecimalPlaces('122sss', 10) // '122.0000000000'
keepDecimalPlaces('abcd', 10) // '0.0000000000'

 到此這篇關(guān)于JavaScript中保留小數(shù)點(diǎn)后N位方法總結(jié)的文章就介紹到這了,更多相關(guān)JavaScript保留小數(shù)點(diǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • javascript避免數(shù)字計(jì)算精度誤差的方法詳解

    javascript避免數(shù)字計(jì)算精度誤差的方法詳解

    本篇文章主要是對(duì)javascript避免數(shù)字計(jì)算精度誤差的方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2014-03-03
  • JavaScript提取元素中第一個(gè)子元素的實(shí)現(xiàn)方法

    JavaScript提取元素中第一個(gè)子元素的實(shí)現(xiàn)方法

    本文主要介紹了JavaScript提取元素中第一個(gè)子元素的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 微信小程序之高德地圖多點(diǎn)路線規(guī)劃過程示例詳解

    微信小程序之高德地圖多點(diǎn)路線規(guī)劃過程示例詳解

    這篇文章主要介紹了微信小程序之高德地圖多點(diǎn)路線規(guī)劃過程示例詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • JS打印彩色菱形的實(shí)例代碼

    JS打印彩色菱形的實(shí)例代碼

    本文通過一段簡單的實(shí)例代碼給大家介紹js實(shí)現(xiàn)打印彩色菱形的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-08-08
  • 在iframe里的頁面編寫js,實(shí)現(xiàn)在父窗口上創(chuàng)建動(dòng)畫效果展開和收縮的div(不變動(dòng)iframe父窗口代碼)

    在iframe里的頁面編寫js,實(shí)現(xiàn)在父窗口上創(chuàng)建動(dòng)畫效果展開和收縮的div(不變動(dòng)iframe父窗口代碼)

    在iframe里的頁面編寫js,實(shí)現(xiàn)在父窗口上創(chuàng)建動(dòng)畫效果展開和收縮的div(不變動(dòng)iframe父窗口代碼)
    2011-12-12
  • js隨機(jī)生成字母數(shù)字組合的字符串 隨機(jī)動(dòng)畫數(shù)字

    js隨機(jī)生成字母數(shù)字組合的字符串 隨機(jī)動(dòng)畫數(shù)字

    本篇文章給大家分享的js隨機(jī)生成字母數(shù)字組合的字符串,js隨機(jī)生成動(dòng)畫數(shù)字,包括常用的產(chǎn)生隨機(jī)數(shù)的用法,需要的朋友可以參考下
    2015-09-09
  • js判斷一個(gè)字符串是以某個(gè)字符串開頭的簡單實(shí)例

    js判斷一個(gè)字符串是以某個(gè)字符串開頭的簡單實(shí)例

    下面小編就為大家?guī)硪黄猨s判斷一個(gè)字符串是以某個(gè)字符串開頭的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • 用函數(shù)式編程技術(shù)編寫優(yōu)美的 JavaScript_ibm

    用函數(shù)式編程技術(shù)編寫優(yōu)美的 JavaScript_ibm

    函數(shù)式編程語言在學(xué)術(shù)領(lǐng)域已經(jīng)存在相當(dāng)長一段時(shí)間了,但是從歷史上看,它們沒有豐富的工具和庫可供使用。隨著 .NET 平臺(tái)上的 Haskell 的出現(xiàn),函數(shù)式編程變得更加流行。一些傳統(tǒng)的編程語言,例如 C++ 和 JavaScript,引入了由函數(shù)式編程提供的一些構(gòu)造和特性。在許多情況下,JavaScript 的重復(fù)代碼導(dǎo)致了一些拙劣的編碼。如果使用函數(shù)式編程,就可以避免這些問題。此外,可以利用函數(shù)式編程風(fēng)格編寫更加優(yōu)美的回調(diào)。
    2008-05-05
  • 如何將JS的變量值傳遞給ASP變量

    如何將JS的變量值傳遞給ASP變量

    asp作為主頁面,外接一個(gè)js的,我想知道一下能否在js里面調(diào)用asp的變量值,如果能這些值是怎么傳遞過去的呢?本文將提供解決方法,需要的朋友可以參考下
    2012-12-12
  • postMessage的兩種使用方式

    postMessage的兩種使用方式

    這篇文章主要介紹了使用postMessage實(shí)現(xiàn)iframe跨域通信,第一種使用postMessage在irfame中實(shí)現(xiàn)跨域數(shù)據(jù)傳遞,第二種使用postMessage在window.open()中的使用,本文結(jié)合示例代碼給大家詳細(xì)講解,需要的朋友跟隨小編一起看看吧
    2022-03-03

最新評(píng)論

勃利县| 东安县| 新密市| 郴州市| 揭东县| 灵台县| 吐鲁番市| 雷山县| 灵台县| 凭祥市| 兴安县| 巨野县| 兴山县| 浦东新区| 桦甸市| 西充县| 呼伦贝尔市| 广安市| 时尚| 朝阳县| 固镇县| 白玉县| 丹凤县| 烟台市| 龙海市| 广饶县| 南皮县| 炎陵县| 故城县| 关岭| 察隅县| 香格里拉县| 广州市| 偃师市| 当雄县| 综艺| 安顺市| 新巴尔虎右旗| 锡林郭勒盟| 株洲县| 三门县|