Foros del Web » Programando para Internet » ASP Clásico »

Operación matématica.

Estas en el tema de Operación matématica. en el foro de ASP Clásico en Foros del Web. Hola chicos. Estoy intentando sacar en ASP una operación que en principio parece sencilla pero no soy capaz de sacar. Estoy realizando un carrito de ...
  #1 (permalink)  
Antiguo 02/12/2014, 05:46
 
Fecha de Ingreso: diciembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Operación matématica.

Hola chicos.

Estoy intentando sacar en ASP una operación que en principio parece sencilla pero no soy capaz de sacar.

Estoy realizando un carrito de la compra donde tengo que ir calculando el peso total del pedido, y en función de este calcular los gastos de envío. Estos gastos son fijos, pero si el pedido pasa de los 7000 gramos (7kg) hay que ir incrementando los gastos de envío en 0,40€ por cada 1000 gramos que se vayan acumulando a partir de los 7000 gramos. Tengo el peso total del pedido y los gramos que me paso a partir de los 7000 gramos, pero no soy capaz de sacar que cada 1000 gramos a partir de los 7000 me vaya sumando 0,40€ de gastos de envío.

Espero haberlo explicado bien .

Muchas gracias.
  #2 (permalink)  
Antiguo 02/12/2014, 08:45
 
Fecha de Ingreso: mayo-2014
Ubicación: Mexico
Mensajes: 79
Antigüedad: 9 años, 10 meses
Puntos: 2
Respuesta: Operación matématica.

Te explicaste muy bien .

Pero te olvidaste de lo mas importante muestra lo que llevas hecho
  #3 (permalink)  
Antiguo 03/12/2014, 02:04
 
Fecha de Ingreso: diciembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Operación matématica.

Hola. Aquí está lo que llevo hecho. El valor de portes_adicionales es lo que me falta:

Código:
' Si el peso total es sup. a 7kg, sumamos 0,40 € por kg. que los pasemos
If peso_total > 7000 then													
    'Primero sacamos del peso total los gramos que se pasan de 7000 (7kg)
    diferencia = peso_total - 7000
    'Los gastos de envío entonces son:
    portes_total = (portes_adicionales + 0,40) +  portes_fijos		
end if
Muchas gracias.
  #4 (permalink)  
Antiguo 03/12/2014, 13:12
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Operación matématica.

Bueno, pues ahora tendras que calcular el valor de "portes_adicionales" para ello tendras que dividir diferencia entre 1000 y redondear hacia arriba.

por ejemplo:

Si el peso_tota es 12470
diferencia será igual a 12470 - 7000 que es igual a 5470
ahora tienes que dividir diferencia entre 1000 y redondear hacia arriba, para que portes_adicionales coja el valor de 6
despues portes_total = (portes_adicionales POR 0.40) + portes_fijos

Animo.... y ve enseñadonos lo que llevas.
  #5 (permalink)  
Antiguo 04/12/2014, 09:07
 
Fecha de Ingreso: diciembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Operación matématica.

Muchas gracias por la respuesta. Voy a probar.
  #6 (permalink)  
Antiguo 05/12/2014, 06:37
 
Fecha de Ingreso: diciembre-2014
Mensajes: 8
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Operación matématica.

Muchas gracias alpe2000. He probado lo que me has comentado y ha funcionado perfectamente. Te dejo cómo ha quedado:

Código:
If peso_total > 7000 then
	' gramos que se pasan de 7000 (7kg)
	diferencia = (peso_total - 7000) / 1000
	' redondeamos hacia arriba
	if (int(diferencia) - diferencia < 0) then
		'Hay decimales en el valor
		portes_adicionales = int(diferencia) + 1
 	else
		'No hay decimales en el valor (es un entero)
		portes_adicionales = diferencia
	end if
	'Los gastos de envío entonces son:
	portes_total = (portes_adicionales * "0,40") + portes_fijos
end if
Un saludo.

Etiquetas: asp
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 04:40.