用小数计算parseint
Calculate parseint with decimal
我在另一篇文章中发现了这个:
<script language='javascript'>
function AddInputs()
{
var total = 0;
var coll = document.getElementsByClassName('add')
for ( var i = 0; i<coll.length; i++)
{
var ele = coll[i];
total += parseInt(ele.value);
}
var Display = document.getElementById('Display');
Display.innerHTML = total;
}
</script>
有效,但 1.50、1.50 和 1.50 = 3 不准确。我是 JS 的新手(只知道 PHP),但我调查了一下,发现它与 parseInt 有关,因为 1.50 不是整数。有没有什么东西可以代替 parseInt 来计算它,使三个 1.50 实际上等于 4.50?
尝试使用 parseFloat()
而不是 parseInt()
也用<script type="text/javascript">
代替<script language="javascript">
会更标准更正确
parseInt 会将任何小数转换为整数,因此 parseInt(1.5)
变为 1
。这就是为什么 parseInt(1.5) + parseInt(1.5) + parseInt(1.5) = 3。如果你想让它等于 4.5,那么只需将 parseInt 替换为 parseFloat:
function AddInputs()
{
var total = 0;
var coll = document.getElementsByClassName('add')
for ( var i = 0; i<coll.length; i++)
{
var ele = coll[i];
total += parseFloat(ele.value);
}
var Display = document.getElementById('Display');
Display.innerHTML = total;
}
当您在 1.50 上调用 parseInt
时,您将获得该值的整数部分(在本例中为 1)。只需将 parseInt
替换为 parseFloat
即可得到您期望的值。
除了parseFloat
你还可以使用Number
将字符串转换为数值。
document.querySelector('#add').addEventListener('click', addNumber)
var total = 0;
function addNumber(e) {
total += Number(document.querySelector('#plus').value);
document.querySelector('#result').innerHTML = 'total: '+total.toFixed(2);
}
<input id="plus" type="number" placeholder="type a number"/>
<button id="add">add to total</button>
<div id="result"></div>
我在另一篇文章中发现了这个:
<script language='javascript'>
function AddInputs()
{
var total = 0;
var coll = document.getElementsByClassName('add')
for ( var i = 0; i<coll.length; i++)
{
var ele = coll[i];
total += parseInt(ele.value);
}
var Display = document.getElementById('Display');
Display.innerHTML = total;
}
</script>
有效,但 1.50、1.50 和 1.50 = 3 不准确。我是 JS 的新手(只知道 PHP),但我调查了一下,发现它与 parseInt 有关,因为 1.50 不是整数。有没有什么东西可以代替 parseInt 来计算它,使三个 1.50 实际上等于 4.50?
尝试使用 parseFloat()
而不是 parseInt()
也用<script type="text/javascript">
代替<script language="javascript">
会更标准更正确
parseInt 会将任何小数转换为整数,因此 parseInt(1.5)
变为 1
。这就是为什么 parseInt(1.5) + parseInt(1.5) + parseInt(1.5) = 3。如果你想让它等于 4.5,那么只需将 parseInt 替换为 parseFloat:
function AddInputs()
{
var total = 0;
var coll = document.getElementsByClassName('add')
for ( var i = 0; i<coll.length; i++)
{
var ele = coll[i];
total += parseFloat(ele.value);
}
var Display = document.getElementById('Display');
Display.innerHTML = total;
}
当您在 1.50 上调用 parseInt
时,您将获得该值的整数部分(在本例中为 1)。只需将 parseInt
替换为 parseFloat
即可得到您期望的值。
除了parseFloat
你还可以使用Number
将字符串转换为数值。
document.querySelector('#add').addEventListener('click', addNumber)
var total = 0;
function addNumber(e) {
total += Number(document.querySelector('#plus').value);
document.querySelector('#result').innerHTML = 'total: '+total.toFixed(2);
}
<input id="plus" type="number" placeholder="type a number"/>
<button id="add">add to total</button>
<div id="result"></div>