Foros del Web » Programando para Internet » Javascript »

rango de valores para el case de una switch

Estas en el tema de rango de valores para el case de una switch en el foro de Javascript en Foros del Web. ¿Cómo puedo poner un rango de valores para la opción case en un switch? Es decir, quiero que dependiendo de que si la variable que ...
  #1 (permalink)  
Antiguo 13/11/2005, 14:03
 
Fecha de Ingreso: agosto-2005
Mensajes: 18
Antigüedad: 18 años, 8 meses
Puntos: 0
rango de valores para el case de una switch

¿Cómo puedo poner un rango de valores para la opción case en un switch?

Es decir, quiero que dependiendo de que si la variable que utilizo en los cases, está entre dos valores, me devuelva una cosa. Sería algo parecido a esto:

switch (patata) {
case >0 && <1:
cebolla = 5
case >1.01 && <2:
cebolla = 8
case >2.1 && <3:
cebolla = 10
}

Gracias
  #2 (permalink)  
Antiguo 13/11/2005, 17:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Para rangos no te vale usar el switch aunque se podría convertir cada valor a entero... pero sería mucho más trabajoso que usar un if normal...

if (patata <= 1)
cebolla = 5;
else if (patata <= 2);
cebolla = 8;
else if (patata <= 3)
cebolla = 10;

Traté de simplificar los rangos, pero no estoy seguro de haberlo hecho bien...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 14/11/2005, 14:04
 
Fecha de Ingreso: agosto-2005
Mensajes: 18
Antigüedad: 18 años, 8 meses
Puntos: 0
Hola Caricatos.

El problema era por un lado, que tenía que meter 50 casos (rangos) distintos y me parecía más lógico hacerlo con switch, pero sobretodo, es que no había visto por ningún lado que se pudiese usar la estructura else if, sino que siempre veía (en todos los tutoriales) el if y el else a secas. Me extrañaba bastante que no se pudiese usar, pero como no sabía como hacerlo no lo probé. El caso es que sin el else if, me obligaba a poner un if y luego un else y luego volver a bifurcar con otro if y así sucesivamente hasta los 50 rangos. Cosas de novatos.

Muchas gracias por todo, ahora sí que funciona.
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 09:53.