【问题标题】:dividing number with decimals evenly用小数平均除数
【发布时间】:2016-04-09 03:47:13
【问题描述】:

我需要一些帮助来将数字(货币)除以除数,所以我最终得到偶数部分,剩下的任何美分也需要除以。 因此,例如 500/9 = 55.55555555555556,即 55.55,在前 5 个结果中还剩下 0.05。 我想结束

55.56
55.56
55.56
55.56
55.56
55.55
55.55
55.55
55.55

这是我找到的类似解决方案divide number with decimals javascript 但是这个增加了最后一个结果的变化。

【问题讨论】:

    标签: javascript


    【解决方案1】:
    var mathjunk = 500/9;
    
    var formattedtotal = Math.floor(mathjunk*100)/100;
    
    var realtotal = formattedtotal * 9; 
    
    var modulus = 500 - realtotal;
    
    var diff = modulus / 5;
    
    var first5 = formattedtotal+diff;
    
    alert("first 5 get $"+first5+", everyone else gets $"+formattedtotal)
    

    这更像是一道数学题,而不是编程题。https://jsfiddle.net/ttz0jsgr/

    【讨论】:

      【解决方案2】:

      看看

      function distribute(money, piles){
        var m = money * 100, 
            n = m % piles, 
            v = Math.floor( m / piles ) / 100,
            w = Math.floor( m / piles + 1 ) / 100;
      
        for(var i=0, out = new Array(piles); i < piles; ++i){
          out[i] = i<n? w: v;
        }
        return out;
      }
      
      var arr = distribute(500, 9);
      var sum = arr.reduce((a,b) => a+b);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-01
        相关资源
        最近更新 更多