toint32 - Cómo convertir cadena a entero en C#
int.tryparse c# (12)
¿Cómo convierto una cadena en un entero en C #?
Haz algo como:
var result = Int32.Parse(str);
Puedes usar cualquiera de
int i = Convert.ToInt32(myString);
o
int i =int.Parse(myString);
Si está seguro de que se analizará correctamente, use
int.Parse(string)
Si no lo eres, usa
int i;
bool success = int.TryParse(string, out i);
¡Precaución! En el caso siguiente, TryParse
0, no 10 después del TryParse
.
int i = 10;
bool failure = int.TryParse("asdf", out i);
Esto se debe a que TryParse
utiliza un parámetro out , no un parámetro ref .
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 un poco más de 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;
}
bool result = Int32.TryParse (someString, out someNumeric)
Este método intentará convertir la string someString
en int someNumeric
y devolverle el boolean result
. true
si la conversión fue exitosa y false
si la conversión falló. Tenga en cuenta que este método no arrojará una excepción si la conversión falló como lo Int32.Parse
método Int32.Parse
y en su lugar devuelve cero para someNumeric
.
Para 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 cadena a entero en C #
La manera 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 a int. Este código supone que no tendrá ninguna excepción durante la conversión. Entonces, si sabes que tus datos de cadena siempre serán de 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.
class MyMath
{
public dynamic Sum(dynamic x, dynamic y)
{
return (x+y);
}
}
class Demo
{
static void Main(string[] args)
{
MyMath d = new MyMath();
Console.WriteLine(d.Sum(23.2, 32.2));
}
}
int a = int.Parse(myString);
o mejor aún, mira en int.TryParse(string)
int i;
string result = Something;
i = Convert.ToInt32(result);
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);
int myInt = System.Convert.ToInt32(myString);
Como han mencionado otros, también puede usar int.Parse()
e int.TryParse()
.
Si está seguro de que la string
siempre será un int
:
int myInt = int.Parse(myString);
Si desea comprobar si string
es realmente una int
primero:
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.TryParse
es más seguro ya que si pone algo más en varString
(por ejemplo, "fsfdsfs") obtendría una excepción. Al usar int.TryParse
cuando la cadena no se puede convertir a int, devolverá 0
.