思路:有小数扩大对应倍数最后在除掉

乘法

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

    function multiply (a, b) {
      var f1 = 1, f2 = 1;
// 如果存在小树点则乘以他的0的个数f1,f2分别存储a,b的倍数最后先算a*b扩大的在除以抵消掉
      if (String(a).indexOf(".") != -1) {
        f1 = String(a).length - String(a).indexOf(".") + 1
        f1 = Math.pow(10, f1)
        a = a * f1
      }
      if (String(b).indexOf(".") != -1) {
        f2 = String(b).length - (String(b).indexOf(".") + 1)
        f2 = Math.pow(10, f2)
        b = b * f2
      }
      return a * b / f1 / f2
    }
全部评论
少了括号
1 回复 分享
发布于 2021-04-20 14:34
f1 = String(a).length - String(a).indexOf(".") + 1 这是应该是 -1 更合理吧
1 回复 分享
发布于 2022-07-23 22:31
这个在某一程度上是一个不错的解决方案
点赞 回复 分享
发布于 2023-06-02 14:54 福建

相关推荐

求个公司要我:接好运
点赞 评论 收藏
分享
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
评论
16
收藏
分享
牛客网
牛客企业服务