Foros del Web » Programando para Internet » Javascript »

Calcular valores con JavaScript

Estas en el tema de Calcular valores con JavaScript en el foro de Javascript en Foros del Web. Buenas noches. ante todo un buen saludos a todos. tengo un pequeño problema. cuando requiero hacer un calculo para ingresar a una tabla lo que ...
  #1 (permalink)  
Antiguo 21/07/2009, 18:12
 
Fecha de Ingreso: marzo-2006
Mensajes: 31
Antigüedad: 18 años, 1 mes
Puntos: 0
Mensaje Calcular valores con JavaScript

Buenas noches. ante todo un buen saludos a todos.

tengo un pequeño problema. cuando requiero hacer un calculo para ingresar a una tabla lo que es el Subtotal, Vlr Iva y Total como se indica en las formulas siguiente

Subtotal
Código:
dcmSubTotal = parseFloat(document.getElementById("ctl00$cp_Contenedor$pnlVentas$txtVlrVenta").value) * parseFloat(document.getElementById("ctl00$cp_Contenedor$pnlVentas$txtCant").value);
Iva
Código:
dcmVIva = parseFloat(dcmSubTotal) * parseFloat(document.getElementById("ctl00$cp_Contenedor$pnlVentas$txtIvaRef").value) / 100;
Código:
dcmTotal = parseFloat(dcmSubTotal) + parseFloat(dcmVIva);
cuando quiero ver el resultado este no coinciden ya que los ultimos decimales los votas. esto sucede porque los valores se los mando con un formato y debido a el al momento de hacer la operacion se pierden los ultimos decimales acontinuacion un ejemplo de como recibe los valores.

Vlr Venta:
201.250,00

Cantidad:
2

Total:
402.5

si esta operacion la hacemos daria:
402500

una solucion que puedo ver es quitar los separadores para que pueda realizar bien esta operacion.

alguno me puede ayudar con este problema?

Agradecido con el que me pueda ayudar. Mil gracias

Dios los bendiga
  #2 (permalink)  
Antiguo 21/07/2009, 22:16
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Calcular valores con JavaScript

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.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 21/07/2009 a las 22:22
  #3 (permalink)  
Antiguo 22/07/2009, 07:16
 
Fecha de Ingreso: marzo-2006
Mensajes: 31
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Calcular valores con JavaScript

gracias zerokilled por contestar, estare probando lo que me mandaste y te comento como me fue, los valores como se estan mostrando va deacuerdo a la configuracion regional que tengo por eso los valores se estan mostrando de esa manera ya que yo estoy camellando en un Sistema Operativo Windows Server 2008 completamente en ingles y la configuracion regional pertenece a la misma por eso digo huu creo mejor que esp por eso que el resultado de la operacion me la entrega como separador decimal un "." ya que es la que tiene en la configuracion regional jeje.

agradecido con vos por la repuesta, Dios te bendiga. Te estoy comentando en el transcurso lo que vos me pasaste y te cuento como me va con el. :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:09.