当前位置: 首页 > news >正文

美橙互联网站建设案例淘宝官网首页入口手机

美橙互联网站建设案例,淘宝官网首页入口手机,建e网全景图合成教程,热搜词排行榜关键词OpenHarmony(OpenAtom OpenHarmony简称“OpenHarmony”)三方库,是经过验证可在OpenHarmony系统上可重复使用的软件组件,可帮助开发者快速开发OpenHarmony应用。如果是发布到开源社区,称为开源三方库,开发者…

OpenHarmony(OpenAtom OpenHarmony简称“OpenHarmony”)三方库,是经过验证可在OpenHarmony系统上可重复使用的软件组件,可帮助开发者快速开发OpenHarmony应用。如果是发布到开源社区,称为开源三方库,开发者可以通过访问开源社区获取。接下来我们来了解bignumber.js开源三方库。

bignumber.js是一个数学库,用于任意精度十进制和非十进制算术的 JavaScript 库。

特点

  • 整数和小数。
  • 简单的 API,但功能齐全。
  • 比Java的BigDecimal JavaScript版本更快,更小,也许更容易使用。
  • 8 KB 缩小和压缩。
  • 复制 JavaScript 的 Number 类型的 、 和 方法toExponential、toFixed、toPrecision、toString。
  • 包括一个和正确舍入的方法toFraction  squareRoot。
  • 支持加密安全的伪随机数生成。
  • 无依赖关系。
  • 广泛的平台兼容性:仅使用 JavaScript 1.5 (ECMAScript 3) 功能。

使用场景

JavaScript因为存在计算的精度问题,所以直接计算就可能会导致各种各样的bug,为了解决这个问题,就可以使用BigNumber.js这个库。的大概原理是将所有数字当做字符串,重新实现了计算逻辑。

使用示例

  1. 安装bignumber.js

ohpm install bignumber.js

OpenHarmony ohpm 环境配置等更多内容,请参考如何安装 OpenHarmony ohpm 包

  1. 导入bignumber.js

import BigNumber from "bignumber.js";

  1. 调用接口

let x = new BigNumber(123.4567);

let y = BigNumber('123456.7e-3');

let z = new BigNumber(x);

expect(x).assertEqual(y);

expect(y).assertEqual(z);

expect(x).assertEqual(z);

该库导出单个构造函数 BigNumber,该函数接受 Number、String 或 BigNumber 类型的值。

let x = new BigNumber('1111222233334444555566');

x.toString();                       // "1.111222233334444555566e+21"

x.toFixed();                        // "1111222233334444555566"

要获取BigNumber的字符串值,请使用toString()或toFixed()。

//使用超过15个有效数字的数字文字会导致精度损失。

new BigNumber(1.0000000000000001)         // '1'

new BigNumber(88259496234518.57)          // '88259496234518.56'

new BigNumber(99999999999999999999)       // '100000000000000000000'

//使用数值范围之外的数字文字会导致精度损失。

new BigNumber(2e+308)                     // 'Infinity'

new BigNumber(1e-324)                     // '0'

//Number值的算术运算的意外结果导致精度损失。

new BigNumber(0.7 + 0.1)                  // '0.7999999999999999'

如果不太了解数字值的有限精度,建议从字符串值而不是数字值创建 BigNumbers,以避免潜在的精度损失。

new BigNumber(Number.MAX_VALUE.toString(2), 2)

       从数字创建大数时,请注意,大数是从数字的十进制值创建的,而不是从其基础二进制值创建的。如果需要后者,则传递 Number 的值并指定基数 2.toString()或toString(2)。

a = new BigNumber(1011, 2)          // "11"

b = new BigNumber('zz.9', 36)       // "1295.25"

c = a.plus(b)   

可以从 2 到 36 的基数中的值创建大数字。请参阅ALPHABET以扩展此范围。

0.3 - 0.1                           // 0.19999999999999998

x = new BigNumber(0.3)

x.minus(0.1)                        // "0.2"

x                                   // "0.3"

如果未为十进制值指定基数 10,则性能更好。仅当要将输入值的小数位数限制为当前INK http://mik设置时,才指定基数 10。BigNumber 是不可变的,因为它不会被其方法更改。

x.dividedBy(y).plus(z).times(9)

x.times('1.23456780123456789e+9').plus(9876.5432321).dividedBy('4444562598.111772').integerValue() // "0.3"  

返回 BigNumber 的方法可以链接。

x = new BigNumber(255.5)

x.toExponential(5)                  // "2.55500e+2"

x.toFixed(5)                        // "255.50000"

x.toPrecision(5)                    // "255.50"

x.toNumber()                        //  255.5

BigNumber与JavaScript的Number类型一样,有toExponential,toFixed和toPrecision方法。

x.toString(16)                     // "ff.8"

可以为toString指定基数。

如果没有指定基数10,即使用toString()而不是toString(10),则性能会更好。如果要将字符串的小数位数限制为当前的DECIMAL_PLACES设置,请仅指定基数10。

y = new BigNumber('1234567.898765')

y.toFormat(2)                       // "1,234,567.90"

有一种toFormat方法可能对国际化有用。

y = new BigNumber(355)

pi = y.dividedBy(113)               // "3.1415929204"

pi.toFraction()                     // [ "7853982301", "2500000000" ]

pi.toFraction(1000)                 // [ "355", "113" ]

有一个toFraction方法,它有一个可选的最大分母参数。

x = new BigNumber(NaN)                                           // "NaN"

y = new BigNumber(Infinity)                                      // "Infinity"

x.isNaN() && !y.isNaN() && !x.isFinite() && !y.isFinite()

以及isNaN和isFinite方法,因为和是有效值。NaN、Infinity、BigNumber。

x = new BigNumber(-123.456);

x.c                                 // [ 123, 45600000000000 ]  coefficient (i.e. significand)

x.e                                 // 2                        exponent

x.s                                 // -1                       sign

BigNumber的值以系数、指数和符号的十进制浮点格式存储。

//为原始BigNumber构造函数设置DECIMAL_LACES

BigNumber.set({ DECIMAL_PLACES: 10 })

// 创建另一个BigNumber构造函数,可选地传入配置对象

BN = BigNumber.clone({ DECIMAL_PLACES: 5 })

x = new BigNumber(1)

y = new BN(1)

x.div(3)                            // '0.3333333333'

y.div(3)                            // '0.33333'

为了高级使用,可以创建多个BigNumber构造函数,每个构造函数都有自己的独立配置。

源码地址&ohpm仓地址

以上就是bignumber.js的一些基本介绍,更多详情可以前往源码地址或者ohpm仓地址参考bignumber.js文档。

参考资料

如何安装 OpenHarmony ohpm 包

bignumber.js API:

源码地址:

ohpm地址:

点击关注阅读原文,了解更多资讯

http://www.yayakq.cn/news/941160/

相关文章:

  • iis怎么创建网站横岗网站建设
  • 北京高端品牌网站建设找人做网站需要什么条件
  • 教做高级料理的网站建设工程服务中心是做什么的
  • 自适应模板网站郑州网络营销策划
  • 天津网站优化首页国外常用的seo站长工具
  • 网站内容好wordpress数据存储
  • 做评测系统网站首先要干嘛wordpress 个人中心
  • 做门户网站需要学什么软件58同城东莞招聘网最新招聘
  • 做最便宜的网站建设北京定制网站价格
  • wordpress 移动 建站学设计的学校
  • 西安网站设计公司排名ppt做的好的网站有哪些内容
  • 佛山设计网站招远网站建设招聘
  • 微信微网站模板蒙古文网站建设的通知
  • 章贡区网站建设怀化网站推广
  • 内丘网站建设做网站有钱
  • 易雅达网站建设公司江西省网站开发
  • 哪个素材网站比较好用wordpress 目录模板
  • 电商公司网站建设财务核算wordpress 数据导出
  • 怎样自己做刷赞网站php如何做音乐网站
  • 网站建设服务器什么意思电子书网站用dz还是wordpress
  • 网站图片模板精准营销推广策略
  • 网站建设专业就业前景广州网站制作哪家强
  • 个人网站快速备案宝安三网合一网站建设
  • 什么网站可以做外链专门做店面装修设计的网站
  • 天津seo公司网站中国机械加工网站
  • 学工系统网站建设的意义网站建设方案ppt模板
  • 网站建设要用到哪些应用工具广西南宁最新消息新闻
  • 元隆盛建设集团有限公司网站网页制作外包
  • 来宾绍兴seo网站托管方案做菠菜网站代理
  • 织梦做信息类网站wordpress 死钥链接