高精度乘法

题目描述
求 a 和 b 相乘的值,a 和 b 可能是小数,需要注意结果的精度问题
示例1
输入
3, 0.0001
输出
0.0003

function multiply(a, b) {
// 先将数字转换为字符串
var str1 = a.toString();
var str2 = b.toString();
// 先获取两个数的小数位数
var lenA = (str1.indexOf('.')==-1)?0:(str1.length-str1.indexOf(".")-1);
var lenB = (str2.indexOf('.')==-1)?0:(str2.length-str2.indexOf(".")-1);
// 比较两数的精度,精度大的作为结果数精度
var len = Math.max(lenA,lenB);
// 计算运算结果
var result = parseFloat(a*b).toFixed(len);
return result
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容