在'之后的数量,'无法阅读

时间:2015-12-13 03:50:08

标签: javascript jquery

我有一个js代码,用于计算单击复选框时的总金额。用户可以选择全选或仅选择他们想要计算的特定金额。如果用户选择所有'工作正常但当他们只点击他们想要计算的特定金额时,该功能如果金额有',在其中,则只会取'之前的数字,例如,如果金额为20,230,则总金额为20.00。如果数字只有20230没有',那么它的工作真的很好。请帮帮我。



function checkedAll () {
	
	  var row_counter =0; 
	  $("input[id ^= 'check_'] ").each(function() {     
	  row_counter++;    
	  });//en
	  var total=0;
	  for(var i=1; i<=row_counter; i++) {
			//alert(i);
		   if (document.getElementById("checkall").checked==true){
				document.getElementById('check_'+i).checked = true;
				var amaun = document.getElementById('amaun_'+i).value;
				//alert(amaun);
				total = parseFloat(total)+parseFloat(amaun);
		   }
		   else{
				document.getElementById('check_'+i).checked = false;
				var amaun = 0;
				total = parseFloat(total)+parseFloat(amaun);
		   }
	   
	  }
	  
	  document.getElementById("jum_baucar").value=total.toFixed(2);
}

function calcTotal(){
	//alert("here");
		var row_counter =0; 
	  $("input[id ^= 'check_'] ").each(function() {     
	  row_counter++;    
	  });//en
	  var total=0;
	  for(var i=1; i<=row_counter; i++) {
			//alert(i);
		   if (document.getElementById('check_'+i).checked == true){
				var amaun = document.getElementById('amaun_'+i).value;
				//alert(amaun);
				total = parseFloat(total)+parseFloat(amaun);
		   }
		   else{				
				var amaun = 0;
				total = parseFloat(total)+parseFloat(amaun);
		   }
	   
	  }
	  
	  document.getElementById("jum_baucar").value=total.toFixed(2);
}
&#13;
&#13;
&#13;

这些是我的js代码。 我应该加入什么?

1 个答案:

答案 0 :(得分:1)

,应用的数字中加parseFloat()会将其视为小数。例如parseFloat('10,10') => 10。一个简单的解决方案就是从字符串中删除,

amaun = amaun.replace(',',''); // Replace a comma with nothing

或者使用正则表达式作为“replaceAll()”的几个逗号:

amaun = amaun.replace(RegExp(',','g'),''); 

然后您可以申请parseFloat(amaun)

total = parseFloat(total)+parseFloat(amaun);