how2j.cn

相关下载
文件名 文件大小
UI.html 947b
步骤 1 : 本练习的效果   
步骤 2 : 复利公式   
步骤 3 : html部分   
步骤 4 : 答案   

步骤 1 :

本练习的效果

<style> table{ border-collapse:collapse; } td{ border:1px silver solid; padding: 5px; font-size:12px; } input{ width:180px; } </style> <script> /*取幂函数*/ function p(base, power){ if(1==power) return base if(0==power) return 0; var result = base; for(var i = 0; i<power-1; i++){ result = result*base; } return result; } /*取复利*/ function fuli(rate, year){ var result = 0; for(var i=year;i>0;i--){ result+=p(rate,i); } return result; } function calc(){ var initMoney= getIntValue("initMoney"); var rate= getIntValue("rate"); var year= getIntValue("year"); var each= getIntValue("each"); var sum1 = (year-1)*each+initMoney; var sum3=each* fuli( (1+rate/100),(year-1)) + initMoney*p( (1+rate/100) ,year); var sum2 = sum3-sum1; setValue("sum1",sum1); setValue("sum2",sum2); setValue("sum3",sum3); } function setValue(id,value){ document.getElementById(id).value=value; } function getIntValue(id){ return parseInt(document.getElementById(id).value); } </script> <table> <tr> <td>起始资金</td> <td><input type="text" id="initMoney" value='10000'> ¥</td> <tr> <td>每年收益</td> <td><input type="text" id="rate" value='5'> %</td> </tr> <tr> <td>复利年数</td> <td><input type="text" id="year" value='10'> 年</td> </tr> <tr> <td>每年追加资金</td> <td><input type="text" id="each" value='10000'> ¥</td> </tr> <tr> <td colspan="2" align="center"><input type="button" value="计算" onclick="calc()"></td> </tr> <tr> <td>本金和</td> <td><input type="text" id="sum1" disabled="disabled" value='0'> ¥</td> </tr> <tr> <td>利息和</td> <td><input type="text" id="sum2" disabled="disabled" value='0'> ¥</td> </tr> <tr> <td>本息和</td> <td><input type="text" id="sum3" disabled="disabled" value='0'> ¥</td> </tr> </table>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
步骤 2 :

复利公式

复利公式:
F = p* ( (1+r)^n );
F 最终收入
p 本金
r 年利率
n 存了多少年

假设情景一:
p = 10000
r = 0.05
n = 1

解读:
本金是10000
年利率是5%
存了一年 1次
复利收入 10000*( (1+0.05)^1 ) = 10500

假设情景二:
p = 10000
r = 0.05
n = 2

解读:
本金是10000
年利率是5%
存了两年
复利收入 10000*( (1+0.05)^2 ) = 11025
步骤 3 :

html部分

运行效果
<style> table{ border-collapse:collapse; } td{ border:1px silver solid; padding: 5px; font-size:12px; } input{ width:80px; } </style> <table> <tr> <td>起始资金</td> <td><input type="text" id="initMoney" value='0'> ¥</td> </tr> <tr> <td>每年收益</td> <td><input type="text" id="rate" value='0'> %</td> </tr> <tr> <td>复利年数</td> <td><input type="text" id="year" value='1'> 年</td> </tr> <tr> <td>每年追加资金</td> <td><input type="text" id="each" value='0'> ¥</td> </tr> <tr> <td colspan="2" align="center"><input type="button" value="计算" ></td> </tr> <tr> <td>本金和</td> <td><input type="text" id="sum1" disabled="disabled" value='0'> ¥</td> </tr> <tr> <td>利息和</td> <td><input type="text" id="sum2" disabled="disabled" value='0'> ¥</td> </tr> <tr> <td>本息和</td> <td><input type="text" id="sum3" disabled="disabled" value='0'> ¥</td> </tr> </table>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
步骤 4 :

答案

运行效果
<style> table{ border-collapse:collapse; } td{ border:1px silver solid; padding: 5px; font-size:12px; } input{ width:180px; } </style> <script> /*取幂函数*/ function p(base, power){ if(1==power) return base if(0==power) return 1; var result = base; for(var i = 0; i<power-1; i++){ result = result*base; } return result; } /*取复利*/ function fuli(rate, year){ var result = 0; for(var i=year;i>0;i--){ result+=p(rate,i); } return result; } function calc(){ var initMoney= getIntValue("initMoney"); var rate= getIntValue("rate"); var year= getIntValue("year"); var each= getIntValue("each"); var sum1 = (year-1)*each+initMoney; var sum3=each* fuli( (1+rate/100),(year-1)) + initMoney*p( (1+rate/100) ,year); var sum2 = sum3-sum1; setValue("sum1",sum1); setValue("sum2",sum2); setValue("sum3",sum3); } function setValue(id,value){ document.getElementById(id).value=value; } function getIntValue(id){ return parseInt(document.getElementById(id).value); } </script> <table> <tr> <td>起始资金</td> <td><input type="text" id="initMoney" value='10000'> ¥</td> <tr> <td>每年收益</td> <td><input type="text" id="rate" value='5'> %</td> </tr> <tr> <td>复利年数</td> <td><input type="text" id="year" value='10'> 年</td> </tr> <tr> <td>每年追加资金</td> <td><input type="text" id="each" value='10000'> ¥</td> </tr> <tr> <td colspan="2" align="center"><input type="button" value="计算" onclick="calc()"></td> </tr> <tr> <td>本金和</td> <td><input type="text" id="sum1" disabled="disabled" value='0'> ¥</td> </tr> <tr> <td>利息和</td> <td><input type="text" id="sum2" disabled="disabled" value='0'> ¥</td> </tr> <tr> <td>本息和</td> <td><input type="text" id="sum3" disabled="disabled" value='0'> ¥</td> </tr> </table>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-08-16 用jquery写的
011220aadamnit



赋值方面,$("#id").val(),这个val()要传入的参数类型必须是number?
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        table{
            border-collapse:collapse;
        }
        td{
            border:1px silver solid;
            padding: 5px;
            font-size:12px;
        }
        input{
            width:180px;
        }
    </style>
    <script src="jquery-3.3.1.min.js"></script>
</head>
<body>
<table>
    <tr>
        <td>起始资金</td>
        <td><input type="text" id="initMoney">¥</td>
    </tr>
    <tr>
        <td>每年收益</td>
        <td><input type="text" id="rate">%</td>
    </tr>
    <tr>
        <td>复利年数</td>
        <td><input type="text" id="year">年</td>
    </tr>
    <tr>
        <td>每年追加资金</td>
        <td><input type="text" id="each">¥</td>
    </tr>
    <tr>
        <td colspan="2" align="center"><button id="btn">计算</button></td>
    </tr>
    <tr>
        <td>本金和</td>
        <td><input type="text" disabled="disabled" id="output1">$</td>
    </tr>
    <tr>
        <td>利息和</td>
        <td><input type="text" disabled="disabled" id="output2">$</td>
    </tr>
    <tr>
        <td>本息和</td>
        <td><input type="text" disabled="disabled" id="output3">$</td>
    </tr>
</table>
<script>
    $(function(){
        //取幂函数,用来计算本金*收益指数
        function p(base,power){
            //先对指数power进行判定,回忆数学知识
            if(1==power)
                return base;
            if(0==power)
                return 1;
            //取幂公示,就是不断相乘
            var result=base;
            //这个循环,还是单独跑一次才知道i的设置
            for(var i=0;i<power-1;i++){
                result=result*base;
            }
            return result;
        }
        //
        function fuli(rate, year){
            var result = 0;
            for(var i=year;i>0;i--){
                result+=p(rate,i);
            }
            return result;
        }

        //点击计算按钮
        $('#btn').click(function(){
            //$().val()返回的是string
            var initMoney=parseFloat($('#initMoney').val());
            var rate=parseFloat($('#rate').val());
            var year=parseFloat($('#year').val());
            var each=parseFloat($('#each').val());
            //输出框1,取值,计算公式是本金+历年追加资金
            //$().val(xxx),返回的是object,传入xxx是number
            $('#output1').val(initMoney+(year-1)*each);
            result1=initMoney+(year-1)*each;
            //输出框3,本金+利息
            $('#output3').val(each*fuli((1+rate/100),(year-1))+initMoney*p((1+rate/100),(year)))
            result3=each*fuli((1+rate/100),(year-1))+initMoney*p((1+rate/100),(year));
            //输出框2
            $("#output2").val(result3-result1);
        })
    });
</script>
</body>
</html>

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-07-20 数学好难
chuizi0521
数学好难!!!




1 个答案

chuizi0521 答案时间:2018-07-20
我算了两下 终于懂了欸




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2018-06-26 交作业,和答案不一样的方法但是结果一样
2018-06-10 交作业
2018-06-10 作业
2018-05-22 getIntValue("initMoney") 不能用
2018-04-24 交作业
2018-04-16 关于本息和的问题
2018-02-10 写完了
2018-02-05 写一个简单的计算函数
2017-12-10 公式中的^字符是啥意思啊??
2017-10-25 for(var i = 0; i<power-1; i++)
2017-09-08 js应该写个提示 复利年数不可为0
2017-03-30 每年追加资金的用处?
2017-02-02 此练习好多看不懂-。-
2017-02-02 此练习好多看不懂-。-
2017-02-02 此练习好多看不懂-。-




提问之前请登陆
关于 前端部分-JavaScript-阶段性练习3 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 620943819
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图