Javascript中浮点数相乘的一个解决方法
内容摘要
Javascript中的浮点数相乘是个很有意思的事情。
浮点数相乘有很多方式,下面是我给出的一个我自己认为不错的解决方案:复制代码 代码如下:function FxF(f1, f2) { f1 += '';
浮点数相乘有很多方式,下面是我给出的一个我自己认为不错的解决方案:复制代码 代码如下:function FxF(f1, f2) { f1 += '';
文章正文
Javascript中的浮点数相乘是个很有意思的事情。
浮点数相乘有很多方式,下面是我给出的一个我自己认为不错的解决方案:
复制代码 代码如下:
function FxF(f1, f2) {
f1 += '';
f2 += '';
var f1Len = f1.split('.')[1].length,
f2Len = f2.split('.')[1].length;
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为(两个浮点数的后面长度之和)。
代码注释