¿Cómo convierto una cadena en un número entero en C #?
¿Cómo convierto una cadena en un número entero en C #?
Respuestas:
Si está seguro de que se analizará correctamente, use
int.Parse(string)
Si no es así, use
int i;
bool success = int.TryParse(string, out i);
¡Precaución! En el caso siguiente, iserá igual a 0, no a 10 después de TryParse.
int i = 10;
bool failure = int.TryParse("asdf", out i);
Esto se debe a que TryParseutiliza un parámetro de salida , no un parámetro de referencia .
int myInt = System.Convert.ToInt32(myString);
Como han mencionado varios otros, también puede usar int.Parse()y int.TryParse().
Si está seguro de que stringsiempre será un int:
int myInt = int.Parse(myString);
Si desea comprobar si stringrealmente es la intprimera vez:
int myInt;
bool isValid = int.TryParse(myString, out myInt); // the out keyword allows the method to essentially "return" a second value
if (isValid)
{
int plusOne = myInt + 1;
}
string varString = "15";
int i = int.Parse(varString);
o
int varI;
string varString = "15";
int.TryParse(varString, out varI);
int.TryParsees más seguro ya que si pones algo más varString(por ejemplo, "fsfdsfs") obtendrás una excepción. Al usar int.TryParsecuando la cadena no se puede convertir en int, regresará 0.
Si está seguro de que tiene un número "real" en su cadena, o se siente cómodo con cualquier excepción que pueda surgir, use esto.
string s="4";
int a=int.Parse(s);
Para tener más control sobre el proceso, use
string s="maybe 4";
int a;
if (int.TryParse(s, out a)) {
// it's int;
}
else {
// it's no int, and there's no exception;
}
Haz algo como:
var result = Int32.Parse(str);
int i;
string whatever;
//Best since no exception raised
int.TryParse(whatever, out i);
//Better use try catch on this one
i = Convert.ToInt32(whatever);
La forma más rápida resultó ser la siguiente:
y = 0;
for (int i = 0; i < s.Length; i++)
y = y * 10 + (s[i] - '0');
"s" es la cadena que desea convertir en un int. Este código asume que no tendrá ninguna excepción durante la conversión. Entonces, si sabe que los datos de su cadena siempre serán algún tipo de valor int, el código anterior es la mejor manera de obtener velocidad pura.
Al final, "y" tendrá su valor int.
bool result = Int32.TryParse(someString, out someNumeric)
Este método va a tratar de convertir someStringen someNumeric, y devolver una resultdepende de si la conversión es exitosa, truesi la conversión se realiza correctamente y falsesi la conversión fallado. Tenga en cuenta que este método no generará una excepción si la conversión falló como lo Int32.Parsehizo el método y, en cambio, devuelve cero para someNumeric.
Para obtener más información, puede leer aquí:
https://msdn.microsoft.com/en-us/library/f02979c7(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2
&
Cómo convertir cadenas a entero en C #
Puedes usar cualquiera,
int i = Convert.ToInt32(myString);
o
int i =int.Parse(myString);