我怎样才能将数字(钱)除以x
该数字可以是一个或两个小数或没有

例如1000100.2112.34我希望能够将该数字均等地划分为x部分,但是,如果不是奇数,则将多余的数字分配给最后一个数字。

例如

3856 / 3
1285.33
1285.33
1285.34

最佳答案

听起来像是一个非常简单的循环/递归。

Here you go

function divideEvenly(numerator, minPartSize) {
  if(numerator / minPartSize< 2) {
    return [numerator];
  }
  return [minPartSize].concat(divideEvenly(numerator-minPartSize, minPartSize));
}

console.log(divideEvenly(1000, 333));

为了使它成为货币的两位小数,在调用此函数之前,将两个数字乘以100,然后将每个结果除以100,然后调用toFixed(2)

Like so
function divideCurrencyEvenly(numerator, divisor) {
  var minPartSize = +(numerator / divisor).toFixed(2)
  return divideEvenly(numerator*100, minPartSize*100).map(function(v) {
    return (v/100).toFixed(2);
  });
}


console.log(divideCurrencyEvenly(3856, 3));
//=>["1285.33", "1285.33", "1285.34"]

关于javascript - 用小数除以javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19715819/

10-09 14:32