hansonfox 发表于 2012-2-19 15:07:11

问个js的问题

有两个表单,分别输入两个数字,想在第三个表单获得焦点时显示两数字之和。用js该怎么做呢?

ci_phper_mj 发表于 2012-2-19 16:40:47

两个表单?输入框还是表单?

hansonfox 发表于 2012-2-19 18:15:38

本帖最后由 hansonfox 于 2012-2-19 18:25 编辑


<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结果为两位小数的方法~

meditator 发表于 2012-2-21 13:28:41

hansonfox 发表于 2012-2-19 18:15 static/image/common/back.gif
用上面的代码好像可以工作了,但是有时候会在sum里出现小数位很长的值,有些值的和又是正常的……
比如40. ...

如果限定输入是整数的话,输出时请使用parseInt()函数,弱类型语言好像都有这个问题。

hansonfox 发表于 2012-2-24 17:02:14

需要计算带小数的位数啊,对js几乎不太懂,怎么会产生这个状况完全不明白啊~
页: [1]
查看完整版本: 问个js的问题