Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <cfscript>
- param name='numOfPeople' default='5';
- param name='bill' default='143.03';
- param name='tip' default='0.15';
- function SplitBill(p,b,t){ // p = number of people, b = bill total, t = percentage of tip to be left default to 15%
- var rt = arrayNew(1);
- var tb = 0;
- var eachBase = 0;
- var remainder = 0;
- var ranPerson = 0;
- if (!isNumeric(arguments.p)||!isNumeric(arguments.b)){
- return 'Enter Bill and number of people as numbers';}
- if (!isNumeric(arguments.t)){arguments.t = 0.15;}
- var tb = arguments.b*(1+arguments.t);
- var eachBase = int(tb*100/arguments.p);
- var remainder = arguments.b*100 mod arguments.p;
- var ranPerson = randRange(1,arguments.p);
- for(i=1;i<=arguments.p;i++){
- rt[i]=eachBase;
- }
- while(remainder>0){
- rt[ranPerson]=rt[ranPerson]+1;
- ranPerson = ranPerson+1;
- if(ranPerson > arrayLen(rt)){ranPerson=1;}
- remainder = remainder-1;
- }
- for(i=1;i<=arguments.p;i++){
- rt[i]=dollarFormat(rt[i]/100);
- }
- return rt;
- }
- result = SplitBill(numOfPeople,bill,tip);
- writeDump(result);
- </cfscript>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement