Comunidad de diseño web y desarrollo en internet online

== ¿Igualdad o no?

Citar            
MensajeEscrito el 17 May 2005 04:38 pm
Os explico yo por ejemplo tengo una variable de nombre contador que empieza en 0 entonces le hago que vaya sumando 1 + 1 asi hasta llegar a 100 entonces yo quiero que en el numero 100 se pare y le pongo el siguiente codigo:

if(contador==100){
contador==100;
}

pero la historia es que pasa por cien y sigue y no se para, sin embargo cuando lo hago con el codigo:

if(contador>=100){
contador=100;
}

si que me funciona, mi pregunta es porque con el == no cuando significa igualdad y la condicion la cumple, incluso he probado con triple igual === y tampoco alguien sabe porque pasa?
Gracias por adelantado.

Por load

121 de clabLevel



 

msie
Citar            
MensajeEscrito el 17 May 2005 04:55 pm
yo pondria algo como esto no utilizaria el if sino un for

contador = 0;
for(i=0 i=>100){
i ++;
}

con esto le dicesq para i = a 0, ahora le dices hasta donde quieres q llegue i = o menos a 100 y por ultimo lo q quieres q te haga i ++ q lo q te hara essumar...Espero q te ayude, tb lo puedes realizar con un while.

Por carter15

73 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 May 2005 06:00 pm
carter; un for se realiza justo en el momento, para efectos de un contador (no sé para qué load lo quiera utilizar), que 'empiece' en 100 no sirve de nada

load, checa tus códigos

if(contador==100){
contador==100; // <- esto NO es una asignación de variable
}


if(contador>=100){
contador=100; // <- esto ES una asignación de variable
}
en el caso que deseas, este último es el ideal, dices que si el contador es mayor o igual a 100, que ya no avance, el otro tiene el defecto que, si llega a pasarse de 100 ya la condicional no va a surtir efecto

hay que checar lo más básico, a veces se nos pasa y nos estamos poniendo un problemón en frente.
por otro lado, si quieres saber las diferencias ent re == y === en la referencia vienen explicaditos

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

firefox
Citar            
MensajeEscrito el 23 May 2005 03:34 pm
No sería mejor:

if (contador<100){
contador++;
}

:D

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

msie
Citar            
MensajeEscrito el 25 May 2005 03:37 am
Por que no funciona con esto?!

contador++;
//instrucciones
if (contador==100){
contador=100; //Para q?! si ya contador
// es igual a 100
}

Los errores esta en que el contador cuando ejecuta el condicional (if), contador ya vale 100:

1. Esta reafirmando que contador vale 100.
2. Cuando vuelve a ejecutarse contador++, y contador vale 100 se incrementa en 1 y valdría 101 :wink:, y la condición del (if) no se cumple y sigue incrementándose...

Por eso que con (if contador>=101) si funciona porque cualquier valor que tenga contador mayor a 100 (por ejemplo: 101 :wink: ), contador se devuelve a 100.

El código sería más óptimo como te respondi arriba... 8)

Sí ya te aclare la duda, avisame

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

msie
Citar            
MensajeEscrito el 26 May 2005 10:38 pm
haber... quieres hacer un ciclo hasta 100 y cuando llegue el contador a este numero quieres que pare y haga alguna cosa entonces haces esto

cont=0;
while(cont<100){
//porque cont-1, por que como quiere hasta 100 pero en contador arranca en cero
if((cont-1)==100){
//pones lo que quieras hacer
}
}

//y eso es todo

Por hackjasl

72 de clabLevel



 

msie
Citar            
MensajeEscrito el 26 May 2005 10:56 pm

Maikel escribió:


El código sería más óptimo como te respondi arriba...



existe lo óptimo...pero no lo más optimo...en fin :)

Por _david

565 de clabLevel


1 articulo

Genero:Masculino  

Bogota, Colombia

firefox
Citar            
MensajeEscrito el 26 May 2005 11:20 pm
ok David, lo tomaré en cuenta... Gracias

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.