求 a 和 b 相乘的值,a 和 b 可能是小数,需要注意结果的精度问题
输入例子:
multiply(3, 0.0001)
输出例子:
0.0003
function multiply(a, b) {
//求两个数中精度大的一个
var stra=a.toString();
var strb=b.toString();
var len=Math.max(stra.length-stra.indexOf('.')-1,strb.length-strb.indexOf('.')-1);
//
return parseFloat(a*b).toFixed(len);
}
根据两个书中精度较高的一个来确定,先将其转换成字符串,然后根据小数点的位置确定小数位数,
字符串长度减去‘.'的位置后还要再减去1得到正确的小数位数,两个取其大,然后用toFixed()函数确定
结果的小数位数