按揭月供计算器(等额本息)

来源:互联网 发布:mac同时登陆两个qq 编辑:程序博客网 时间:2024/04/28 12:44


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 <mx:Panel x="19.25" y="10" width="448.75" height="271" layout="absolute">
  <mx:Label x="21" y="10" text="单价:" fontWeight="bold" fontSize="13"/>
  <mx:Label x="21" y="47" text="面积:" fontSize="13" fontWeight="bold"/>
  <mx:Label x="10" y="80" text="按揭成数:" fontSize="13" fontWeight="bold" id="lbajcs"/>
  <mx:Label x="10" y="110" text="按揭年数:" fontSize="13" fontWeight="bold"/>
  <mx:Button x="10" y="194" label="开始计算" fontSize="13" click="start()"/>
  <mx:Button x="112" y="195" label="清空" fontSize="13" click="clear()"/>
  <mx:Label x="220.75" y="10" text="房款总额:" fontSize="13" fontWeight="bold" id="fangkuanzonge"/>
  <mx:Label x="220.75" y="36" text="贷款总额:" fontSize="13" fontWeight="bold" id="daikuanzonge"/>
  <mx:Label x="220.75" y="62" text="首期付款:" fontSize="13" fontWeight="bold" id="shouqifukuan"/>
  <mx:Label x="220.75" y="88" text="月均还款:" fontSize="13" fontWeight="bold" id="yuejunhuaikuan"/>
  <mx:Label x="220.75" y="114" text="还额总款:" fontSize="13" fontWeight="bold" id="huaikuanzonge"/>
  <mx:Label x="220.75" y="147" text="支付总额:" fontSize="13" fontWeight="bold" id="zhifuzonge"/>
  <mx:TextInput x="90" y="11" width="97" id="Tdanjia"/>
  <mx:TextInput x="90" y="48" width="97" id="Tmianji"/>
 
  <mx:TextInput x="303.75" y="37" width="115" id="Tdaikuanzonge"/>
  <mx:TextInput x="303.75" y="63" width="115" id="Tshouqifukuan"/>
  <mx:TextInput x="303.75" y="89" width="115" id="Tyuejunhuankuan"/>
  <mx:TextInput x="303.75" y="115" width="115" id="Thuankuanzonge"/>
  <mx:TextInput x="303.75" y="148" width="115" id="Tzhifuzonge"/>
  <mx:PopUpButton x="93" y="81" label="请选择" width="94" fontSize="13" id="popajcs" creationComplete="initApp()"/>
  <mx:PopUpButton x="93" y="111" label="请选择" width="94" fontSize="13" id="popajns" creationComplete="initApp()"/>
  <mx:TextInput x="303.75" y="11" width="109" id="Tfangkuanzonge"/>
 
 
 </mx:Panel>
<mx:Script>
 <![CDATA[
  import mx.formatters.NumberBase;
  import mx.events.MenuEvent;
   import mx.controls.Menu;
   import mx.events.ItemClickEvent;
   import mx.controls.Alert;                     //引用函数库里的函数
  
   private var ajnsMenu:Menu;
   private var ajcsMenu:Menu;
   private var labelajns:String="";         //定义弹出式按钮里的内容
   private var labelajcs:String="";   
   /**
    * 初始化数据,创建数据源
    * */
   private function initApp():void
   {
    //
    ajnsMenu = new Menu();                            
    ajcsMenu = new Menu();
    // 定义一个数组对象,作为数据源
    var dpajns:Object = [
         {label:"2年(24期)"},
         {label:"3年(36期)"},
         {label:"4年(48期)"},
         {label:"5年(60期)"},
         {label:"6年(72期)"},
         {label:"7年(84期)"},
         {label:"8年(96期)"},
         {label:"9年(108期)"},
         {label:"10年(120期)"},
         {label:"15年(180期)"},
         {label:"20年(240期)"},
         {label:"25年(300期)"},
         {label:"30年(360期)"}              
        ];
    // 菜单对象与数据源绑定
    ajnsMenu.dataProvider = dpajns;
    ajnsMenu.addEventListener("itemClick", ajnsClickHandler); //侦听到点击,触发这个事件
    // 设置弹出的菜单
    popajns.popUp = ajnsMenu;
    // 定义一个数组对象,作为数据源
    var dpajcs:Object = [
         {label:"8成"},
         {label:"7成"},
         {label:"6成"},
         {label:"5成"},
         {label:"4成"},
         {label:"3成"},
         {label:"2成"}
        ];
    // 菜单对象与数据源绑定
    ajcsMenu.dataProvider = dpajcs;
    ajcsMenu.addEventListener("itemClick", ajcsClickHandler);
    // 设置弹出的菜单
    popajcs.popUp = ajcsMenu;
   }
   private function ajnsClickHandler(event:MenuEvent):void
   {
    // 获取菜单选项内容
     labelajns= event.item.label;
    // 设置按钮标签内容,并关闭菜单
    popajns.label = labelajns;
    popajns.close();
    // 设置菜单的索引为选项的索引值
    ajnsMenu.selectedIndex = event.index;
   }
   //定义按揭单击
   private function ajcsClickHandler(event:MenuEvent):void
   {
    labelajcs = event.item.label;
    popajcs.label = labelajcs;
    popajcs.close();
    ajcsMenu.selectedIndex = event.index;
   }
 private function start():void
 {                   //定义单价
 var danjia:Number;
 danjia=Number(Tdanjia.text);
 var mianji:Number;
 mianji=Number(Tmianji.text);
 var nianlilv:Number;
   var yuelilv:Number;
 var yueshu:Number;
 var chengshu:Number;
 var daikuan:Number;
 var yuejunhuankuan:Number;
 var huankuanzonge:Number;
 var zhifuzonge:Number;
 
 if (labelajns==""||labelajcs==""||danjia<=0||mianji<=0)
{
 Alert.show("请输入正确的单价和面积")
}
 else
    {
    switch(labelajcs)
    {
     case "8成":
     chengshu=0.8;
     break;
     case "7成":
     chengshu=0.7;
     break;
     case "6成":
     chengshu=0.6;
     break;
     case "5成":
     chengshu=0.5;
     break;
     case "4成":
     chengshu=0.4;
     break;
     case "3成":
     chengshu=0.3;
     break;
     case "2成":
     chengshu=0.2;
     break;
     default:
     break;
    }
    switch(labelajns)
    {
     case "2年(24期)":
     yueshu=24;
     nianlilv=0.0540;
     break;
     case "3年(36期)":
     yueshu=36;
     nianlilv=0.0540;
     break;
     case "4年(48期)":
     yueshu=48;
     nianlilv=0.0576;
     break;
     case "5年(60期)":
     yueshu=60;
     nianlilv=0.0576;
     break;
     case "6年(72期)":
     yueshu=72;
     nianlilv=0.0594;
     break;
     case "7年(84期)":
     yueshu=84;
     nianlilv=0.0594;
     break;
     case "8年(96期)":
     yueshu=96;
     nianlilv=0.0594;
     break;
     case "9年(108期)":
     yueshu=108;
     break;
     case "10年(120期)":
     yueshu=120;
     nianlilv=0.0594;
     break;
     case "15年(180期)":
     yueshu=180;
     nianlilv=0.0594;
     break;
     case "20年(240期)":
     yueshu=240;
     nianlilv=0.0594;
     break;
     case "25年(300期)":
     yueshu=300;
     nianlilv=0.0594;
     break;
     case "30年(360期)":
     yueshu=360;
     nianlilv=0.0594;
     break;
     default:
     break;
    }
    daikuan=chengshu*danjia*mianji;
    yuelilv=nianlilv/12;
    yuejunhuankuan=daikuan*(yuelilv*Math.pow((1+yuelilv),yueshu))/(Math.pow
((1+yuelilv),yueshu)-1);
    huankuanzonge=yuejunhuankuan*yueshu;
    zhifuzonge=(danjia*mianji-daikuan)+huankuanzonge;
    Tfangkuanzonge.text=(danjia*mianji).toString();
    Tdaikuanzonge.text=daikuan.toFixed(2).toString();
    Tshouqifukuan.text=(danjia*mianji-daikuan).toFixed(2).toString();
    Tyuejunhuankuan.text=yuejunhuankuan.toFixed(2).toString();
    Thuankuanzonge.text=huankuanzonge.toFixed(2).toString();
    Tzhifuzonge.text=zhifuzonge.toFixed(2).toString();
    }
   }
 private function clear():void
   {
    Tdanjia.text="";
    Tmianji.text="";
    popajcs.label="请选择";
    popajns.label="请选择";
    Tfangkuanzonge.text="";
    Tdaikuanzonge.text="";
    Tshouqifukuan.text="";
    Tyuejunhuankuan.text="";
    Thuankuanzonge.text="";
    Tzhifuzonge.text="";
   }
 
 
]]>
</mx:Script>
 
</mx:Application>

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击