Hallo

Ik heb twee velden en ik doe het volgende in jQuery


	var value = parseInt($('input[name=number1]').val());
	var value2 = parseFloat($('input[name=number2]').val() / 100).toFixed(2);


value = 200 bijvoorbeeld
value2 = 50, dus 0.50 bijvoorbeeld

Als ik dit doe:

var totaal = parseFloat(200 + 0.60).toFixed(2);


En dan alert(totaal) dan komt er 200.60 uit, dat klopt

Zo gauw als ik 200 vervang door value en 0.60 vervang door value 2 komt er 2000.40 uit, oftewel het word achter elkaar gezet, hoe kan dit?
Float.toFixed() maakt er een string van. Als je een getal bij een string optelt wordt het getal ook omgezet in een string en worden deze 2 samengevoegd:
var a = 200,
    b = '0.50';

console.log(a + b);
// is
console.log(200 + '0.50');
// wordt
console.log('200' + '0.50');
// wordt
console.log('2000.50');

Wat je moet doen is gewoon simpel weg de .toFixed weghalen op regel 2 of er nog eens een parseFloat overheen gooien:
var value2 = parseFloat(parseFloat(... / 100).toFixed(2));
Uiteindelijk heb ik het zo gedaan:


$(document).ready(function(){
	
	$('input[name=number1], input[name=number2]').blur(function(){
		
		var vastetransactiekosten = parseFloat(0.99);
		var variabeletransactiekosten = parseFloat(1.05);
		
		calculate(variabeletransactiekosten, vastetransactiekosten);
		
	});
	
});

function calculate(variabeletransactiekosten, vastetransactiekosten){
	
		var number1 = $('input[name=number1]').val();
		var number2 = $('input[name=number2]').val() / 100;
		var totaal = parseFloat(parseInt(number1) + parseFloat(number2));

		totaal = parseFloat(parseFloat(totaal) * parseFloat(variabeletransactiekosten));
		totaal = parseFloat(parseFloat(totaal) + parseFloat(vastetransactiekosten));
		totaal = totaal.toFixed(2);
		
		totaal = totaal.split('.');
		
		$('input[name=number1btw]').val(totaal[0]);
		$('input[name=number1btw_hidden]').val(totaal[0]);
		
		$('input[name=number2btw]').val(totaal[1]);
		$('input[name=number2btw_hidden]').val(totaal[1]);	
	
}

Reageren