我有一个带有各种值的下拉平均值......
<select id="number1a" onChange="Addition()">
<option value="0" selected>-</option>
<option value="10">10</option>
<option value="7.5">7.5</option>
</select>
<select id="number1b" onChange="Addition()">
<option value="0" selected>-</option>
<option value="5">5</option>
<option value="5.5">5.5</option>
</select>
和一个javascript函数,它添加了值并将其显示为div ...
<script>
function Addition(){
number1a = parseInt(document.getElementById('number1a').value);
number1b = parseInt(document.getElementById('number1b').value);
output = number1a + number1b;
document.getElementById('score').innerHTML = +output;
</script>
和div显示数学......
<div id="score"></div>
该功能工作并显示一个数字,但它忽略了小数,所以如果我从下拉列表中选择“10”然后从下一个下拉列表中选择“5”,它会显示15,但是如果我选择10和5.5它显示16而不是15.5?
我尝试添加.toFixed(2);
,但它没有效果,我得到相同的结果。例如......
var output = outputnum.toFixed(5);
document.getElementById('score').innerHTML = +outputnum;
非常感谢任何帮助。
答案 0 :(得分:0)
问题在于以下几点:
parseInt
函数parseFloat()
始终返回一个整数值(as described here)。因此,它将返回最接近的整数,即6.而不是5.5。
要获得5.5的实际值,您需要使用number1a = parseFloat(document.getElementById('number1a').value);
number1b = parseFloat(document.getElementById('number1b').value);
方法,如here所述。所以只需将这两行更改为:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
page = this.arguments.getInt("someInt", 0)
title = this.arguments.getString("someTitle")
}
它应该有用。