<script>
var par=new Array();
par[par.length]=new Array(100,4);
par[par.length]=new Array(200,3);
par[par.length]=new Array(1000,2);
par[par.length]=new Array(2000,1.5);
par[par.length]=new Array(5000,0.8);
par[par.length]=new Array(10000,0.4);
var yv=0.1;
function getfee(count){
//返回单位为万元
var ret=0;
for(var i=0;i<par.length;i++){
var d=(i==0)?par[i][0]:(par[i][0]-par[i-1][0]);
if(count>=d){
ret+=d*par[i][1]/1000.0;count-=d;
}else{
ret+=count*par[i][1]/1000.0;
return ret;
}
}
ret+=count*yv/1000.0;
return ret;
}
alert(getfee(180));//返回单位为万元
</script>
解决方案 »
- vs2003 treeview 用javascript 得不到一些值。
- MzTreeView10 权限控制 急!!!!
- 正则表达式 匹配对应的括号
- 请问如何可以改变input的disabled为true时的样式?
- 事件处理时,如何接收事件参数?
- 问一个简单的问题,javascript象server.HTMLEncode的语句是什么了?
- 在动态添加table的行时,如何在添加的表格里显示出行号来?急,在线等待!
- 函数问题
- 麻烦大了!!!高手请进!!!iframe编辑状态 修改值 问题
- JS怎么读取xml文件,麻烦大家帮下忙
- 如何判断面面是关闭还是刷新呢?
- 这个循环到底哪里错了,怎么不能进行正确地赋值
<script>
var par=new Array();
par[par.length]=new Array(100,40);
par[par.length]=new Array(200,30);
par[par.length]=new Array(1000,20);
par[par.length]=new Array(2000,15);
par[par.length]=new Array(5000,8);
par[par.length]=new Array(10000,4);
var yv=0.1;
function getfee(count){
var ret=0;
for(var i=0;i<par.length;i++){
var d=(i==0)?par[i][0]:(par[i][0]-par[i-1][0]);
if(count>=d){
ret+=d*par[i][1];count-=d;
}else{
ret+=count*par[i][1];
return ret/10000.0;
}
}
ret+=count*yv;
return ret/10000.0;
}
alert(getfee(5000));//返回单位为万元
</script>
To cxz7531(大花猫) ,我依照你提供的帮助,成功地解决了好几个相似的问题。现在出现一个新的记费方式,如下表。<1000元 50元
1001元-5000元 200元
5001元-10000元 500元
10001元-50000元 1000元
50001元-100000元 2000元
100001元-500000元 2%
500001元-1000000元 1.50%
1000001元-5000000元 1%
5000001元-10000000元 0.80%
>10000000元 0.50%我用你给的程序改装了一个早上,还是没有得出正确的结果,还要麻烦你再出手一把,不胜感激。
<script>
var par=new Array();
par[par.length]=new Array(1000,50,true);
par[par.length]=new Array(5000,200,true);
par[par.length]=new Array(10000,500,true);
par[par.length]=new Array(50000,1000,true);
par[par.length]=new Array(100000,2000,true);
par[par.length]=new Array(500000,2,false);
par[par.length]=new Array(1000000,1.5,false);
par[par.length]=new Array(5000000,1,false);
par[par.length]=new Array(10000000 ,0.8,false);
var yv=0.5;
function getfee(count){
var ret=0;
for(var i=0;i<par.length;i++){
var d=(i==0)?par[i][0]:(par[i][0]-par[i-1][0]);
if(count>=d){
ret+=(par[i][2])?par[i][1]:(d*par[i][1]/100.0);count-=d;
}else{
ret+=(par[i][2])?par[i][1]:(count*par[i][1]/100.0);
return ret;
}
}
ret+=count*yv/100.0;
return ret;
}
alert(getfee(180));
</script>
时间特别紧,我也变(没有通)了一早上,没有搞定,这于自身水平臭也是分不开的,所以
才继续麻烦你。
SORRY 并 谢谢。