用小数除数javascript [英] divide number with decimals javascript
本文介绍了用小数除数javascript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我如何将数字(钱)除以x数 这个数字可以是一个或两个小数或没有小数
how can I divide number (money) to x number equally the number could be with one or two decimal or without it
,例如1000
或100.2
或112.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屋!
查看全文