bignumber.js API

作者: 小贤笔记 | 来源:发表于2020-01-15 10:06 被阅读0次

    使用

    • 安装 npm i bignumber.js
    • 引用
      • import BigNumber from 'bignumber.js'

    文档

    加法 plus

    • 语法
      .plus(n [, base])
      • 参数值
        • n (必需): number|string|BigNumber 参与计算的数字
        • base: number 进制 (默认为十进制)
      • 返回值
        BigNumber
    • 举例
    0.1 + 0.2                       // 0.30000000000000004
    x = new BigNumber(0.1)
    y = x.plus(0.2)                 // '0.3'
    BigNumber(0.7).plus(x).plus(y)  // '1'
    x.plus('0.1', 8)                // '0.225'
    

    减法 minus

    • 语法
      .minus(n [, base])
      • 参数值
        • n (必需): number|string|BigNumber 参与计算的数字
        • base: number 进制 (默认为十进制)
      • 返回值
        • BigNumber
    • 举例
    0.3 - 0.1                       // 0.19999999999999998
    x = new BigNumber(0.3)
    x.minus(0.1)                    // '0.2'
    x.minus(0.6, 20)                // '0'
    

    乘法 multipliedBy

    • 语法
      .times(n [, base])
      • 参数值
        • n (必需): number|string|BigNumber 参与计算的数字
        • base: number 进制 (默认为十进制)
      • 返回值
        • BigNumber
    • 举例
    0.6 * 3                         // 1.7999999999999998
    x = new BigNumber(0.6)
    y = x.multipliedBy(3)           // '1.8'
    BigNumber('7e+500').times(y)    // '1.26e+501'
    x.multipliedBy('-a', 16)        // '-6'
    

    除法 dividedBy

    • 语法
      .div(n [, base])
      • 参数值
        • n (必需): number|string|BigNumber 参与计算的数字
        • base: number 进制 (默认为十进制)
      • 返回值
        • BigNumber
    • 举例
    x = new BigNumber(355)
    y = new BigNumber(113)
    x.dividedBy(y)                  // '3.14159292035398230088'
    x.div(5)                        // '71'
    x.div(47, 16)                   // '5'
    

    除法-取整 dividedToIntegerBy

    • 语法
      .idiv(n [, base])
      • 参数值
        • n (必需): number|string|BigNumber 参与计算的数字
        • base: number 进制 (默认为十进制)
      • 返回值
        • BigNumber
    • 举例
    x = new BigNumber(5)
    y = new BigNumber(3)
    x.dividedToIntegerBy(y)         // '1'
    x.idiv(0.7)                     // '7'
    x.idiv('0.f', 16)               // '5'
    

    除法-取余 modulo

    • 语法
      .mod(n [, base])
      • 参数值
        • n (必需): number|string|BigNumber 参与计算的数字
        • base: number 进制 (默认为十进制)
      • 返回值
        • BigNumber
    • 举例
    1 % 0.9                         // 0.09999999999999998
    x = new BigNumber(1)
    x.modulo(0.9)                   // '0.1'
    y = new BigNumber(33)
    y.mod('a', 33)                  // '3'
    

    指数运算 exponentiatedBy

    • 语法
      .pow(n [, m])
      • 参数值
        • n (必需): number|string|BigNumber 参与计算的数字
        • m: number|string|BigNumber 指数
      • 返回值
        • BigNumber
    • 举例
    Math.pow(0.7, 2)                // 0.48999999999999994
    x = new BigNumber(0.7)
    x.exponentiatedBy(2)            // '0.49'
    BigNumber(3).pow(-2)            // '0.11111111111111111111'
    

    开平方 squareRoot

    • 语法
      .sqrt()
    • 举例
    x = new BigNumber(16)
    x.squareRoot()                  // '4'
    y = new BigNumber(3)
    y.sqrt()                        // '1.73205080756887729353'
    

    四舍五入 toFixed

    • 语法
      .toFixed([dp [, rm]])
      • dp (必需): number 保留小数位数
      • rm: number
    • 举例
    x = 3.456
    y = new BigNumber(x)
    x.toFixed()                     // '3'
    y.toFixed()                     // '3.456'
    y.toFixed(0)                    // '3'
    x.toFixed(2)                    // '3.46'
    y.toFixed(2)                    // '3.46'
    y.toFixed(2, 1)                 // '3.45'  (ROUND_DOWN)
    x.toFixed(5)                    // '3.45600'
    y.toFixed(5)                    // '3.45600'
    

    相关文章

      网友评论

        本文标题:bignumber.js API

        本文链接:https://www.haomeiwen.com/subject/vmozactx.html