Javascript中浮点数相乘的一个解决方法


  本文标签:Javascript,浮点数相乘

Javascript中的浮点数相乘是个很有意思的事情 。

浮点数相乘有很多方式,下面是我给出的一个我自己认为不错的解决方案:

复制代码 代码如下:
function FxF(f1, f2) {
    f1 += ;
    f2 += ;
    var f1Len = f1.split(.)[1].length,
        f2Len = f2.split(.)[1].length;

    if (f1Len) {
        f1 = f1.replace(., );
    }
    if (f2Len) {
        f2 = f2.replace(., );
    }
    return f1 * f2 / Math.pow(10, f1Len + f2Len);
};

基本思想

基本的思想就是把浮点数全部变成整数,然后除以等值的10的N阶次方 。N为(两个浮点数的后面长度之和) 。