Convertir string a int ?

Started by FreeYourMind, July 22, 2010, 03:33:52 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

Buenas, curiosamente estaba comparando 2 valores strings, uno de ellos lo habia pasado a string (era int) para que fueran del mismo tipo en la comparación.


int Score = 952;

say((string)Score) // Output: 952
say (Hiscore[9]._Score) // Output: 55000

// El IF se cumple pero si fueran enteros no lo haria porque no cumple la condición!!!!
IF((string)Score >= Hiscore[9]._Score)
     say("Entre donde no debia");
  END

Entiendo que esto ocurre porque al comparar 2 strings este hara la comparación con algun código interno de cada una, porque sabemos que 952 no es mayor que 55000.

Sobre esto me gustaria tener una aaclaración.

Logicamente para hacer la comparación tendria que pasar Hiscore[9]._Score que es una string, a entero, pero (int)Hiscore[9]._Score no funciona como en el otro caso.
Como puedo pasar un string a int para la correcta comparación ?

Grácias.

SplinterGU

la compracion de string es correcta, el caracter 9 es mayor que 5, asi que es correcto que asi suceda comprando strings (no es ningun codigo interno) y la maldita autoconversion de bennu/fenix que nunca estuve de acuerdo, hace que se conviertan las expresiones.

con respecto a tu pregunta, atoi(string)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Muchas grácias. Comunidad puntual como siempre, da gusto :)