Как преобразовать строку в целое число в C#?Как преобразовать строку в целое число в C#
ответ
int a = int.Parse(myString);
или еще лучше, посмотрите в int.TryParse(string)
int myInt = System.Convert.ToInt32(myString);
Как некоторые другие уже упоминалось, вы можете также использовать int.Parse()
и int.TryParse()
.
Если вы уверены, что string
всегда будет int
:
int myInt = int.Parse(myString);
Если вы хотите, чтобы проверить, является ли string
это действительно int
первый:
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 s="4";
int a=int.Parse(s);
Для более определенного контроля над процессом, используйте
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;
}
ли что-то вроде:
var result = Int32.Parse(str);
Если вы уверены, что он будет разбирать правильно использовать
int.Parse(string)
Если вы не используете
int i;
bool success = int.TryParse(string, out i);
Внимание! В нижеследующем случае i
будет равно 0, а не 10 после TryParse
.
int i = 10;
bool failure = int.TryParse("asdf", out i);
Это потому, что TryParse
использует из параметр, а не реф параметр.
@sslaitha, спасибо. Если он достаточно подробно ответил на ваш вопрос, не забудьте отметить его как ответ. – Brandon
Просто обратите внимание, что если у вас есть int i = 10; и используйте int.TryParse («asdf», out i); что я буду содержать 0 не 10 !!! Это связано с тем, что TryParse использует переменную out, а не ref. – CaffGeek
«Предупреждение» относится к третьему примеру, а не к второму. Меня немного озадачило, так как я ожидал, что «это» относится к приведенному выше примеру, а не ниже. –
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);
string varString = "15";
int i = int.Parse(varString);
или
int varI;
string varString = "15";
int.TryParse(varString, out varI);
int.TryParse
безопаснее, так как если вы положили что-то еще в varString
(например, "fsfdsfs") вы получите исключение. Используя int.TryParse
, когда строка не может быть преобразована в int, она вернет 0
.
int i;
string result = Something;
i = Convert.ToInt32(result);
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));
}
}
рассмотрите возможность предоставления объяснения вашему коду – arghtype
4 techniques are benchmarked here.
Самый быстрый способ оказался следующим:
y = 0;
for (int i = 0; i < s.Length; i++)
y = y * 10 + (s[i] - '0');
"s" ваша строка, которую преобразуется в междунар. Этот код предполагает, что во время преобразования вы не будете иметь никаких исключений. Поэтому, если вы знаете, что ваши строковые данные всегда будут своего рода значением int, приведенный выше код - лучший способ перейти на чистую скорость.
В конце «y» будет иметь значение int.
Вы можете использовать либо,
int i = Convert.ToInt32(myString);
или
int i =int.Parse(myString);
результат BOOL = Int32.TryParse (SomeString, из someNumeric)
Этот метод будет пытаться превратить ваш string someString
в int someNumeric
, и возвращая вам boolean result
. true
если конверсия выполнена успешно и false
если преобразование не выполнено. Обратите внимание, что этот метод не будет генерировать исключение, если преобразование завершилось неудачно, как это сделал метод Int32.Parse
, и вместо этого он возвращает ноль для someNumeric
.
Для получения дополнительной информации вы можете прочитать здесь:
https://msdn.microsoft.com/en-us/library/f02979c7(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2
&
How to convert string to integer in C#
- 1. преобразовать строку в целое число в C++
- 2. Как преобразовать целое число в строку портативно?
- 3. Как преобразовать строку в постоянное целое число?
- 4. Как преобразовать строку в целое число
- 5. Как преобразовать строку в целое число?
- 6. Как преобразовать строку бит в целое число?
- 7. Как преобразовать шестнадцатеричную строку в целое число?
- 8. Как преобразовать любую строку в целое число?
- 9. Как преобразовать строку в целое число
- 10. Как преобразовать и целое число в строку?
- 11. Как преобразовать строку в целое число
- 12. Как преобразовать строку в целое число типа
- 13. как преобразовать целое число uitextfield в строку
- 14. Как преобразовать целое число в строку
- 15. Xtend: Как преобразовать целое число в строку?
- 16. Как преобразовать строку в целое число в объекте C?
- 17. Как преобразовать строку в целое число в C++
- 18. как преобразовать шестнадцатеричную строку в соответствующее целое число в C++?
- 19. Как преобразовать целое число в двоичную строку в C#?
- 20. Как преобразовать строку в целое число в C++?
- 21. Как преобразовать строку в целое число в C++
- 22. Как преобразовать целое число в строку Unicode в C?
- 23. Как преобразовать строку в целое число по строке в C++?
- 24. преобразовать целое число в строку в Erlang
- 25. Преобразовать строку в целое число в Python
- 26. Невозможно преобразовать строку в целое число
- 27. Как преобразовать строку в целое число внутри C#
- 28. Java, как преобразовать десятичное число как строку в целое число
- 29. Python: преобразовать строку в целое число
- 30. SQL: преобразовать целое число в шестую строку?
Почему тег VB.NET? –
Возможный дубликат http://stackoverflow.com/questions/1019793/how-can-i-convert-string-to-int –