用小数除数javascript [英] divide number with decimals javascript

查看:80
本文介绍了用小数除数javascript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何将数字(钱)除以x数 这个数字可以是一个或两个小数或没有小数

how can I divide number (money) to x number equally the number could be with one or two decimal or without it

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

such as 1000 or 100.2 or 112.34
I want to be able to split that number into x part all of them equally, however if it's not odd number the extra number to the last one.

例如

3856 / 3
1285.33
1285.33
1285.34

推荐答案

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

Sounds like a pretty straightforward loop/recursion.

您在这里

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).

To get it to be two decimals of currency multiply both numbers by 100 before calling this function then divide each result by 100 and call toFixed(2).

像这样

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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆