a decir verdad, yo no lo puedo comprender muy bien del todo. me explico, no comprendo muy bien como se lee el numero 201.250,00. no se si es
doscientos un mil, dos cientos cincuenta o
doscientos uno con venticinco centecimas. sin embargo, la confusion es facil de explicar. en mi pais, puerto rico, al igual que en america del norte, la coma (,) se utiliza para separar las unidades de grupos de 3 (miles, millones, billones, etc) y el punto (.) designa el decimal de modo que el numero
201.250,00 lo considero como mal escrito porque la coma no puede ir despues del punto decimal. me he fijado que otros paises hispanos lo usan al inverso, pero como no estoy muy familiarizado y tampoco estoy seguro.
en todo caso, y con algo de suerte que este sea la explicacion a tu problema, en el mundo digial los procesadores truncan los numeros cuando este contiene valores menos significantes. en un numero, el unico valor insignificante es el cero (0) cuando se encuentra al extremo de la derecha y de la izquierda. es decir, el numero 1,000 es truncado a 1 porque la parte decimal realmente no contiene ningun valor significante. algo asi es lo que sucede cuando el resultado de tu operacion es 402.500, el numero es truncado a 402.5
ahora bien, si tu deseas mostrar el resultado con una cantidad de decimales tienes que usar la funcion
toFixed. sin embargo, debes tambien considerar que la representacionde ese dato deja de ser tipo numerico y pasa a ser un string.
Código:
var cantidad = 2;
var venta = 201.25;
var total venta * cantidad;
alert(total.toFixed(2));
alert(typeof total);
otro detalle, ya que me confunde el uso de coma y punto, los separadores de miles no deben introducirce ya que javascript no los considera. es decir, el numero 1.000.000 (un millon) deberia introducirse asi 1000000.