【发布时间】:2009-11-05 11:42:36
【问题描述】:
var price = $('#addprice').val();
var pass = $('#pass').val();
var total = $('#totalprice').attr('value')
var left = $('#leftquota').attr('value')
var balance = $('#balance').attr('value')
var tprice = total + price; // total price
var bprice = balance + price; // balance price
var unitprice = bprice / left; // unit price
$('#totalprice').text(tprice);
$('#balance').text(bprice);
$('#unitprice').text(unitprice);
JQuery 只处理 total、left、balance、tprice、bprice、unitprice 等。作为字符串,但实际上有小数而不是字符串。当我对它们应用 parseInt() 时,它们都变成了整数,这不是我想要的。如何进行算术运算?操作数是小数。
我使用 parseFloat();但它是一样的。 var tprice=total+price的操作;只是字面上将两个小数(字符串)结合在一起。
$('#add_price').click(function(){
var price=$('#addprice').val();
var pass=$('#pass').val();
var total=$('#totalprice').attr('value')
var left=$('#leftquota').attr('value')
var balance=$('#balance').attr('value')
total=parseFloat(total);
left=parseFloat(left);
balance=parseFloat(balance);
var tprice=total+price;
var bprice=balance+price;
var unitprice=bprice/left;
$('#totalprice').text(tprice);
$('#balance').text(bprice);
$('#unitprice').text(unitprice);
【问题讨论】:
-
不是 jQuery 将它们视为字符串,而是 javascript 将它们视为字符串(因为它们是字符串)。 jQuery 只获取值。 Javascript 做算法,jQuery 只是 javascript 之上的一个库。
-
请提供您的数字的初始字符串值和算术运算结果。
-
请记住,JavaScript 并不真正做十进制数,例如:0.06 + 0.01 = 0.699999999