2017-03-09 125 views
0

我想增加一些整數值的浮點數(也許它不是浮動,這種情況下這是貨幣格式) 我有這樣的貨幣值:「4,918.05」,我想添加30到它。求和浮點數和整數與jquery

 var inputs = $('.ig-control__cbx'); 
     var totalPrice = parseFloat($('.total-price-span').html()); 
     var add = 30; 
     totalPrice = totalPrice +add 
     $('.total-price-span').html(totalPrice.toFixed(2)); 

當我想總結他們,我得到4而不是總數。 我該如何解決它?

+1

'所以你recive只數第一無法識別的字符 – MysterX

+1

之前,這是JavaScript的一個非常基本的事實parseFloat'不承認逗號作爲number'的'的一部分。這可能有助於http://stackoverflow.com/questions/14496531/adding-two-numbers-concatenates-them-instead-of-calculating-the-sum – Ankit

+0

@Ankit哪個答案符合這個問題? – Andreas

回答

2

我想我可以延長我的評論回答:

所以parseFloat不承認逗號作爲number的一部分,所以你的第一個無法識別的字符之前recive只是數字。爲了解決這個問題,你需要在解析float之前替換該字符串中的所有逗號。類似這樣的:

var inputs = $('.ig-control__cbx'); 

var strVal = $('.total-price-span').html().replace(/,/g,''); 
var totalPrice = parseFloat(strVal); 

var add = 30; 
totalPrice = totalPrice +add 
$('.total-price-span').html(totalPrice.toFixed(2)); 
2

您將從parseFloat(「4,918.05」)獲得4個。爲了避免這種情況,你可以使用replace()來首先刪除逗號。

var price = $('.total-price-span').html().replace(/,/g,''); 
var totalPrice = parseFloat(price);