js 浮点运算

很多语言 进行浮点运算时都不准确,js也是,计算时候借助一些库会方便计算
你们尽管去研究底层,而我只想快速的解决问题
一个简单的浮点计算库:
https://github.com/nefe/number-precision

比较复杂的库:
https://github.com/josdejong/mathjs

  • 下面是一个简单库的例子 进行简单的 加减乘除
<script src="./index.iife.js"> </script>

 // 1、加法
 console.log( NP.plus(0.1,0.3) )     // 0.4
 console.log( NP.plus("0.1","0.3") ) // 0.4 

  // 2、减法
  console.log( NP.minus(1.0, 0.9) )     // 0.1
  console.log( NP.minus("1.0", "0.9") ) // 0.1 

  // 3、乘法
  console.log(NP.times(3,0.3))          // 0.9
  console.log(NP.times("3","0.3"))      // 0.9 

  // 4、除法
  console.log(NP.divide(1.21,1.1))      // 1.1
  console.log(NP.divide("1.21","1.1"))  // 1.1 

  // 5、返回有效小数个数
  console.log(NP.digitLength(1234.56789))   //5
  console.log(NP.digitLength("1234.56789")) //5 

  // 6、把小数转成整数
  console.log(NP.float2Fixed(23.01))   //2301
  console.log(NP.float2Fixed("23.01")) //2301
  
  // 7、保留3位小数进行 四舍五入
  console.log(NP.round(0.1056, 3))    // 0.106
  console.log(NP.round("0.1056","3")) // 0.106


// 综合运算  0.2 + 0.35 * 0.87 + 2.3 / 0.78
var value = NP.plus( 0.2,NP.times(0.35,0.87),NP.divide(2.3,0.78) )
console.log(value)  // 3.453217948717949

原文地址:https://www.cnblogs.com/kgwei520blog/p/14043726.html