我需要能够将输入的小数添加到 div 中的小数。下面是我的代码。现在,它只是将两个数字并排连接起来。谢谢。
已编辑:工作代码
<div id="addme">5.01</div>
<input type="text" id="anumber" value="">
<button id="add">Add Number to div</button>
$('#add').click(function() {
var number = parseFloat($('#anumber').val()) || 0;
//alert(number);
$('#addme').html(function(i, val) {
return (parseFloat(val) + number).toFixed(2);
});
});
下面的旧非工作代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<div id="addme">5.01</div>
<input type="text" id="anumber" value="" />
<button id="add">Add Number to div</button>
<script type="text/javascript">
$('#add').click(function(){
var number = $('#anumber').val();
if(number=='undefined' || number==''){
var number=0;
}
//alert(number);
$('#addme').html(function(i, val) {return val*1+number });
});
</script>
最佳答案
由于您要处理十进制数,请使用 parseFloat()
:
$('#add').click(function() {
var number = parseFloat($('#anumber').val()) || 0;
$('#addme').html(function(i, val) {
return parseFloat(val) + number;
});
});
http://jsfiddle.net/mblase75/47t7x/
更新
由于您可能会引入 float 学错误(尝试输入“0.6”),您应该在返回之前将其四舍五入到合适的小数位数(如果处理美元和美分则为 2;如果处理其他度量则为 7 或更多) ):
$('#add').click(function() {
var number = parseFloat($('#anumber').val()) || 0;
$('#addme').html(function(i, val) {
return parseFloat((parseFloat(val) + number).toFixed(9));
});
});
关于javascript - 如何使用 JQuery 将动态小数添加到 div 中的另一个小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10708105/