decimal.js解决js小数点运算精度丢失不准确示例代码

代码语言:html

所属分类:其他

代码描述:decimal.js解决js小数点运算精度丢失不准确示例代码,decimal.js是一个的任意精度十进制类型JavaScript库

代码标签: decimall 小数点 运算 精度 丢失 不准确 示例 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum=1.0,minimum=1.0,user-scalable=0" />

<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/decimal.js"></script>

<script type="module">
  import Decimal from '//repo.bfw.wiki/bfwrepo/js/decimal.mjs';
  
  
  //加
let a = 1
let b = 6 
// a 与 b 可以是 任何类型,Decimal 内部会自己处理兼容
// 下面两种都可以 可以带 new 也不可以不带 new
let res = new Decimal(a).add(new Decimal(b)) 
let res2 = Decimal(a).add(Decimal(b)) 

//减
//let a = "4"
//let b = "8"
// a 与 b 可以是 任何类型,Decimal 内部会自己处理兼容
// 下面两种都可以 可以带 new 也不可以不带 new
//let res3 = new Decimal(a).sub(new Decimal(b)) 
//let res4 = Decimal(a).sub(Decimal(b)) 

//乘
//let a = 1
//let b = 6 
// a 与 b 可以是 任何类型,Decimal 内部会自己处理兼容
// 下面两种都可以 可以带 new 也不可以不带 new
//let res5 = new Decimal(a).mul(new Decimal(b)) 
//let res6 = Decimal(a).mul(Decimal(b)) 

//除
//let a = 1
//let b = 6 
// a 与 b 可以是 任何类型,Decimal 内部会自己处理兼容
// 下面两种都可以 可以带 new 也不可以不带 new
//let res = new Decimal(a).div(new Decimal(b)) 
//let res = Decimal(a).div(Decimal(b)) 

//注意
//上面的结果是 一个 Decimal 对象,你可以转换成 Number 或则 String
//let res = Decimal(a).div(Decimal(b)).toNumber()  // 结果转换成 Number
//let res = Decimal(a).div(Decimal(b)).toString()  // 结果转换成 String

//关于保存几位小数相关

y = new Decimal(987000.000)
y.sd()                                   // '3' 有效位数
y.sd(true)                               // '6' 总共位数

// 保留 多少个位数 (小数位 会补0)
x = 45.6
x.toPrecision(5)                         // '45.600'

// 保留 多少位有效位数(小数位 不会补0,是计算的有效位数)
x = new Decimal(9876.5)
x.toSignificantDigits(6)                 // '9876.5' 不会补0 只是针对有效位数

// 保留几位小数 , 跟 js 中的 number 一样
//toFixed
x = 3.456
// 向下取整
x.toFixed(2, Decimal.ROUND_DOWN)  // '3.45' (舍入模式 向上0 向下1 四舍五入 4,7)
// 向上取整

  
x = new Decimal(123.4567)
y = new Decimal('123456.7e-3')
z = new Dec.........完整代码请登录后点击上方下载按钮下载查看

网友评论0