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为(两个浮点数的后面长度之和)。