Js计算精度问题

    最近在做金融类的开发,页面需要一些计算,在计算过程中发现js页面会存在精度问.

    例如:

0.1 + 0.2                                               //0.30000000000000004

2/0.7                                                    //0.48999999999999994

在js之中进行所有计算都会出现类似于上面所说的精度问题。

在js之中若要进行精度要求高的计算是推荐大家使用big.js之中封装好的方法。

这套方法和java中的BigDecimal使用方法比较像。

API:http://mikemcl.github.io/big.js

JS:https://codeload.github.com/MikeMcl/big.js

在这里简单介绍下big.js的使用,首先在引入js。

在js中创建Big对象:x = new Big(9) // '9'

                                y = new Big(x)                      // '9'

                                Big(435.345)                        // 'new' is optional

                                new Big('5032485723458348569331745.33434346346912144534543')

                                new Big('4.321e+4')                  // '43210'

                                new Big('-735.0918e-430')            // '-7.350918e-428'

通常有上述集中方法,括号中可以放数字,可以放字符串。

进行计算:x.plus(y);               //加法 x+y

                  x.minus(y);            //减法 x-y

                  x.div(y);                 //除法 x/y

        x是一个Big对象,y可以是字符串,数字,Big对象。其余计算和加法类似。结果返回一个Big对象。其余方法详见API,描述很详细。

你可能感兴趣的:(Js计算精度问题)