题目描述
求 a 和 b 相乘的值,a 和 b 可能是小数,需要注意结果的精度问题
示例1
输入
3, 0.0001
输出
0.0003
知识点:toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
function multiply(a, b) {
var strA = a+'';
var strB = b+'';
//分别计算出a,b的精度位数
var bitA = strA.indexOf('.') === -1 ? 0 : (strA.length - strA.indexOf('.') - 1);
var bitB = strB.indexOf('.') === -1 ? 0 : (strB.length - strB.indexOf('.') - 1);
//a,b的精度和
var bit = bitA + bitB;
return (a * b).toFixed(bit);
}