题解 | #乘法#

乘法

http://www.nowcoder.com/practice/6429776e4630435cbc3eeb36bdf41f83

function multiply(a, b) {

    // 1.先将两个数转成字符串
    let str1 = a.toString()
    let str2 = b.toString()

    // 2.获取小数点后的位数,不一定有小数位
    let lenA = (str1.indexOf('.')===-1)?0:(str1.length - str1.indexOf('.')-1)
    let lenB = (str2.indexOf('.')===-1)?0:(str2.length - str2.indexOf('.')-1)

    // 3.取最精确的小数位数
    let len = Math.max(lenA,lenB)
    //把数字转换为字符串,结果的小数点后有指定位数的数字:
    //toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
    return (a*b).toFixed(len);

}
全部评论
第三步,应该是 let len = lenA + lenB,比如a=0.2 b=0.3,会报错
3 回复 分享
发布于 2022-01-08 23:46
我也是小白,复制粘贴过来了
1 回复 分享
发布于 2021-11-20 12:08
想请教一下,两数相乘,结果的小数位数不应该是两数的小数位数之和吗,为什么你这里取最大位数呢?
点赞 回复 分享
发布于 2021-11-20 10:11

相关推荐

10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
10 收藏 评论
分享
牛客网
牛客企业服务