用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2223|回复: 4
收起左侧

问个js的问题

[复制链接]
发表于 2012-2-19 15:07:11 | 显示全部楼层 |阅读模式
有两个表单,分别输入两个数字,想在第三个表单获得焦点时显示两数字之和。用js该怎么做呢?
发表于 2012-2-19 16:40:47 | 显示全部楼层
两个表单?输入框还是表单?
 楼主| 发表于 2012-2-19 18:15:38 | 显示全部楼层
本帖最后由 hansonfox 于 2012-2-19 18:25 编辑
PHP复制代码
 
<h5>A:<input type = "text" id = "a" name = "a"  size = "15" style="text-align:right" /></h5>
<h5>B:<input type = "text" id = "b" name = "b"  size = "15" style="text-align:right" /></h5>
<script type = "text/javascript">
                function sum(){
                        var amount_unit = document.getElementById("a").value;
                        var amount_person = document.getElementById("b").value;
                        var amount_sum = parseFloat(a) + parseFloat(b);
                        document.getElementById('sum').value=sum;
                }
                </script>                
                <h5>总额:<input name="sum"  id = "sum" size = "19" style="text-align:right" readonly /></h5>
复制代码

用上面的代码好像可以工作了,但是有时候会在sum里出现小数位很长的值,有些值的和又是正常的……
比如40.00 +20.13 就会产生60.1299999995这样的值,为嘛呢?
求一个能限制sum结果为两位小数的方法~
发表于 2012-2-21 13:28:41 | 显示全部楼层
hansonfox 发表于 2012-2-19 18:15
用上面的代码好像可以工作了,但是有时候会在sum里出现小数位很长的值,有些值的和又是正常的……
比如40. ...

如果限定输入是整数的话,输出时请使用parseInt()函数,弱类型语言好像都有这个问题。
 楼主| 发表于 2012-2-24 17:02:14 | 显示全部楼层
需要计算带小数的位数啊,对js几乎不太懂,怎么会产生这个状况完全不明白啊~

本版积分规则