解题
function multiply(a, b) {
var result = parseFloat((a * b).toFixed(10));
return result;
}
一、知识点(parseFloat / toFixed)
parseFloat () - 返回数值
定义:parseFloat() 解析一段字符串并返回数值。允许空格。只返回首个数字:
parseFloat("10"); // 返回 10
parseFloat("10.33"); // 返回 10.33
parseFloat("10 20 30"); // 返回 10
parseFloat("10 years"); // 返回 10
parseFloat("years 10"); // 返回 NaN
注意
- 可以根据开头识别其他进制
- 但字符串中只识别10进制
- 无法识别boolean,会转为NaN
// 字符串中只识别10进制
console.log(parseFloat('12')); // 12
console.log(parseFloat('abc23.6')); // NaN
console.log(parseFloat('0b101')); // 0
console.log(parseFloat('011')); // 11
console.log(parseFloat('0x11')); // 0
// 数字的进制都识别
console.log(parseFloat(0b101)); // 5
console.log(parseFloat(011)); // 9
console.log(parseFloat(0x11)); // 17
// boolean
console.log(parseFloat(true)); // NaN
console.log(parseFloat(false)); // NaN
toFixed() - 返回字符串值
定义:toFixed() 返回字符串值,它包含了指定位数小数的数字:
var x = 9.656;
x.toFixed(0); // 返回 10
x.toFixed(2); // 返回 9.66
x.toFixed(4); // 返回 9.6560
PS.
toFixed(2)
非常适合处理金钱。
因为toFixed()返回的是字符串值,因为常通过parseFloat()或parseInt()再进行一次转化