/** * 储蓄存款计算器 * author: xiaohong.liu * date: 2008-9-11 */ var intervaldays; //存款天数 var savingmoney; //存款总金额 var interestrate; //年利率 var accrualtaxrate //利息税率 var savingkind; //存款种类 var savingterm; //存款期限 var dayscale = 1.00; //日期尺度 var monthscale = 12.00;//月期尺度 //初始化计算器 function initsaving() { document.getelementbyid("saving_startdate").value = gettodaydate(); document.getelementbyid("saving_enddate").value = gettodaydate(); document.getelementbyid("moneyname").innerhtml = ""; document.getelementbyid("moneyname").options.add(new option("--请选择--", "0")); for (var i = 0; i < savingmoneyarr.length; i++) { document.getelementbyid("moneyname").options.add(new option(savingmoneyarr[i][1], savingmoneyarr[i][0])); } } /** * 计算存款利息 */ function calculatesaving() { if (document.getelementbyid("moneyname").value == "0") { alert("请选择货币种类"); document.getelementbyid("moneyname").focus(); return false; } if (document.getelementbyid("savingkind").value == "0") { alert("请选择存款种类"); document.getelementbyid("savingkind").focus(); return false; } if (document.getelementbyid("savingterm").value == "0") { alert("请选择存款期限"); document.getelementbyid("savingterm").focus(); return false; } if (document.getelementbyid("saving_startdate").value > document.getelementbyid("saving_enddate").value) { alert("请正确输入起始日期和终止日期!"); return false; } intervaldays = getintervaldays(document.getelementbyid("saving_startdate").value, document.getelementbyid("saving_enddate").value); intervaldays = parseint(intervaldays); if (intervaldays <= 0) { alert("请正确输入起始日期和终止日期!"); return false; } document.getelementbyid("savingdays").value = intervaldays; savingmoney = getsavingmoney(); savingmoney = parsefloat(savingmoney); if (!savingmoney > 0) { alert("请输入正确的存款金额!"); document.getelementbyid("savingmoney").focus(); return false; } interestrate = getinterestrate(); interestrate = parsefloat(interestrate); if (interestrate == 0) { alert("请输入正确的年利率!"); document.getelementbyid("interestrate").focus(); return false; } accrualtaxrate = getaccrualtaxrate(); if (accrualtaxrate == -1) { alert("请输入正确的利息税率!"); document.getelementbyid("accrualtaxrate").focus(); return false; } savingkind = document.getelementbyid("savingkind").options[document.getelementbyid("savingkind").selectedindex].innertext; var totalaccrual; //利息总额 var totaltax; //利息税额 var gainedaccrual; //实得利息 var summation; //本息合计 var mensalaccrual = 0.00;//每月利息 if (savingkind == "整存整取") { totalaccrual = savingmoney * (interestrate / 100.00) * dayscale; totalaccrual = formatfloat(totalaccrual, 2); totaltax = totalaccrual * (accrualtaxrate / 100.00); totaltax = formatfloat(totaltax, 2); gainedaccrual = totalaccrual - totaltax; gainedaccrual = formatfloat(gainedaccrual, 2); summation = gainedaccrual + savingmoney; summation = formatfloat(summation, 2); } else if (savingkind == "零存整取") { totalaccrual = savingmoney * (interestrate / (12 * 100.00)) * (1 + monthscale) * monthscale / 2; totalaccrual = formatfloat(totalaccrual, 2); totaltax = totalaccrual * (accrualtaxrate / 100.00); totaltax = formatfloat(totaltax, 2); gainedaccrual = totalaccrual - totaltax; gainedaccrual = formatfloat(gainedaccrual, 2); summation = gainedaccrual + savingmoney * monthscale; summation = formatfloat(summation, 2); } else if (savingkind == "存本取息") { totalaccrual = savingmoney * (interestrate / 100.00); totalaccrual = formatfloat(totalaccrual, 2); totaltax = totalaccrual * (accrualtaxrate / 100.00); totaltax = formatfloat(totaltax, 2); gainedaccrual = totalaccrual - totaltax; gainedaccrual = formatfloat(gainedaccrual, 2); summation = gainedaccrual + savingmoney; summation = formatfloat(summation, 2); mensalaccrual = 0; mensalaccrual = formatfloat(totalaccrual / monthscale, 2); } else { var moneyname = document.getelementbyid("moneyname").value; var totalaccrual = ""; if (moneyname == "gbp" || moneyname == "hkd") { totalaccrual = savingmoney * (interestrate / 100.00) * intervaldays / 360.00;//利息总额 } else { totalaccrual = savingmoney * (interestrate / 100.00) * intervaldays / 365.00;//利息总额 } totalaccrual = formatfloat(totalaccrual, 2); totaltax = totalaccrual * (accrualtaxrate / 100.00); totaltax = formatfloat(totaltax, 2); gainedaccrual = totalaccrual - totaltax; gainedaccrual = formatfloat(gainedaccrual, 2); summation = gainedaccrual + savingmoney; summation = formatfloat(summation, 2); } showdata_saving(totalaccrual + "|" + totaltax + "|" + gainedaccrual + "|" + summation + "|" + mensalaccrual); } /** * 返回结果处理 * @param response :结果对象 */ function showdata_saving(rt) { var arrrt = rt.split("|"); document.getelementbyid("totalaccrual").value = arrrt[0]; document.getelementbyid("totaltax").value = arrrt[1]; document.getelementbyid("gainedaccrual").value = arrrt[2]; document.getelementbyid("saving_summation").value = arrrt[3]; // document.getelementbyid("mensalaccrual").value=arrrt[4]; } /** * 获取存款总金额 * @return 存款总金额,失败返回0 */ function getsavingmoney() { if (checknumber(document.getelementbyid("savingmoney").value)) { return document.getelementbyid("savingmoney").value; } else { return 0; } } /** * 获取年利率 * @return 年利率,失败返回0 */ function getinterestrate() { if (checknumber(document.getelementbyid("interestrate").value)) { return document.getelementbyid("interestrate").value; } else { return 0; } } /** * 获取利息税率 * @return 利息税率,失败返回-1 */ function getaccrualtaxrate() { if (checknumber(document.getelementbyid("accrualtaxrate").value)) { return document.getelementbyid("accrualtaxrate").value; } else { return -1; } } /** * 清空数据 */ function resetall() { document.getelementbyid("moneyname").value = "0"; document.getelementbyid("savingkind").value = "0"; document.getelementbyid("savingterm").value = "0"; document.getelementbyid("interestrate").value = "0.00"; document.getelementbyid("savingmoney").value = "0.00"; document.getelementbyid("savingdays").value = "0"; document.getelementbyid("totaltax").value = "0.00"; document.getelementbyid("totalaccrual").value = "0.00"; document.getelementbyid("accrualtaxrate").value = "0.00"; document.getelementbyid("gainedaccrual").value = "0.00"; document.getelementbyid("saving_summation").value = "0.00"; document.getelementbyid("saving_startdate").value = gettodaydate(); document.getelementbyid("saving_enddate").value = gettodaydate(); } /** * 当选择“货币种类”下拉菜单时执行 */ function changemoneyname() { var moneynameid = document.getelementbyid("moneyname").value; document.getelementbyid("savingkind").innerhtml = ""; document.getelementbyid("savingkind").options.add(new option("--请选择--", "0")); for (var i = 0; i < savingkindarr.length; i++) { if (moneynameid == savingkindarr[i][0]) { document.getelementbyid("savingkind").options.add(new option(savingkindarr[i][1], savingkindarr[i][2])); } } } /** * 当选择“存款种类”下拉菜单时执行 */ function changesavingkind() { var savingkindid = document.getelementbyid("savingkind").value; document.getelementbyid("savingterm").innerhtml = ""; document.getelementbyid("savingterm").options.add(new option("--请选择--", "0")); for (var i = 0; i < savingtermarr.length; i++) { if (savingtermarr[i][1].indexof(savingkindid) == 0) { document.getelementbyid("savingterm").options.add(new option(savingtermarr[i][2], savingtermarr[i][0])); } } } /** * 当选择“存款期限”下拉菜单时执行 */ function dochangesavingterm() { var termid = document.getelementbyid("savingterm").value; for (var i = 0; i < savingratearr.length; i++) { if (savingratearr[i][0] == termid) { document.getelementbyid("interestrate").value = savingratearr[i][1]; break; } } savingterm = document.getelementbyid("savingterm").options[document.getelementbyid("savingterm").selectedindex].innertext; switch (savingterm) { case "一天": adddays(document.getelementbyid("saving_startdate").value, 7); break; case "七天": adddays(document.getelementbyid("saving_startdate").value, 7); break; case "一个月": addmonths(document.getelementbyid("saving_startdate").value, 1); break; case "三个月": dayscale = 0.25; addmonths(document.getelementbyid("saving_startdate").value, 3); break; case "六个月": addmonths(document.getelementbyid("saving_startdate").value, 6); break; case "半年": dayscale = 0.5; addmonths(document.getelementbyid("saving_startdate").value, 6); break; case "一年": dayscale = 1.0; monthscale = 12.0; addyears(document.getelementbyid("saving_startdate").value, 1); break; case "二年": dayscale = 2.0; addyears(document.getelementbyid("saving_startdate").value, 2); break; case "三年": dayscale = 3.0; monthscale = 36.0; addyears(document.getelementbyid("saving_startdate").value, 3); break; case "五年": dayscale = 5.0; monthscale = 60.0; addyears(document.getelementbyid("saving_startdate").value, 5); break; default: break; } } /** * 清空数据 */ function resetall_saving() { document.getelementbyid("moneyname").value = "0"; document.getelementbyid("savingkind").value = "0"; document.getelementbyid("savingterm").value = "0"; document.getelementbyid("interestrate").value = "0.00"; document.getelementbyid("savingmoney").value = "0.00"; document.getelementbyid("savingdays").value = "0"; document.getelementbyid("totaltax").value = "0.00"; document.getelementbyid("totalaccrual").value = "0.00"; document.getelementbyid("accrualtaxrate").value = "0.00"; document.getelementbyid("gainedaccrual").value = "0.00"; document.getelementbyid("saving_summation").value = "0.00"; document.getelementbyid("saving_startdate").value = gettodaydate(); document.getelementbyid("saving_enddate").value = gettodaydate(); }