How to convert string to int in c#?

Содержание:

How to Convert String to Integer in the C Language

Sometimes, a number is input as a string. To use it for any mathematical operation, we have to convert the string to integer. There are two ways to do this.

  1. The first method is to manually convert the string into an integer.
  2. The second method is to use the built-in functions.

Manual Conversion

Below is a list of ASCII (American Standard Code for Information Interchange) characters and their decimal value.

ASCII Character                 Decimal Value
0                                              48
1                                              49
2                                              50
3                                              51
4                                              52
5                                              53
6                                              54
7                                              55
8                                              56
9                                              57

Numbers are stored in character format within the string. In order to get the decimal value of each string element, we have to subtract it with decimal value of character ‘0.’ Let’s make this clear with the help of an example.

Integer.valueOf() Method

method is very similar to method – with only one difference that return type is class instead of primitive . In fact, if you look at sourcecode of method, it internally calls method.

It is also overloaded in two forms:

public static Integer valueOf(String s) throws NumberFormatException {...}
public static Integer valueOf(String s, int radix) throws NumberFormatException {...}

Both methods throw a if argument string is not a parsable Integer in base 10 – similar to method.

try {
    Integer intVal = Integer.valueOf("1001");
    System.out.println(intVal);

    Integer intVal1 = Integer.valueOf("1001", 8); 	//base 8
    System.out.println(intVal1);

    Integer intVal2 = Integer.valueOf("1001", 16);	//base 16
    System.out.println(intVal2);
}
catch (NumberFormatException nfe) {
	nfe.printStackTrace();
}

Output:

1001
513
4097

Вызов методов Parse и TryParseCalling the Parse and TryParse methods

Методы и игнорируют пробелы в начале и в конце строки, но все остальные символы должны быть символами, которые образуют соответствующий числовой тип (, , , , и т. д.).The and methods ignore white space at the beginning and at the end of the string, but all other characters must be characters that form the appropriate numeric type (, , , , , and so on). Любые пробелы в строке, образующие число, приводят к ошибке.Any white space within the string that forms the number causes an error

Например, можно использовать для анализа «10», «10.3» или » 10 «, но этот метод нельзя использовать для анализа 10 из «10X», «1 0» (обратите внимание на внедренный пробел), «10 .3» (обратите внимание на внедренный пробел), «10e1» (здесь работает ) и т. д.For example, you can use to parse «10», «10.3», or » 10 «, but you can’t use this method to parse 10 from «10X», «1 0» (note the embedded space), «10 .3» (note the embedded space), «10e1» ( works here), and so on. Строку со значением или String.Empty невозможно успешно проанализировать.A string whose value is or String.Empty fails to parse successfully

Вы можете проверить наличие NULL или пустой строки, прежде чем пытаться ее проанализировать, вызвав метод String.IsNullOrEmpty.You can check for a null or empty string before attempting to parse it by calling the String.IsNullOrEmpty method.

В указанном ниже примере демонстрируются успешные и неуспешные вызовы методов и .The following example demonstrates both successful and unsuccessful calls to and .

В следующем примере показан один из подходов к анализу строки, которая, как ожидается, будет включать начальные числовые символы (включая шестнадцатеричные символы) и конечные нечисловые символы.The following example illustrates one approach to parsing a string expected to include leading numeric characters (including hexadecimal characters) and trailing non-numeric characters. Он назначает допустимые символы в начале новой строки перед вызовом метода TryParse.It assigns valid characters from the beginning of a string to a new string before calling the TryParse method. Поскольку анализируемые строки содержат небольшое количество символов, в примере вызывается метод String.Concat для назначения допустимых символов новой строке.Because the strings to be parsed contain a small number of characters, the example calls the String.Concat method to assign valid characters to a new string. Для большей строки можете использовать класс StringBuilder.For a larger string, the StringBuilder class can be used instead.

Конвертировать с использованием StringBuffer или StringBuilder

StringBuilder и StringBuffer — это классы, используемые для объединения нескольких значений в одну строку. StringBuffer является потокобезопасным, но медленным, тогда как StringBuilder не является поточно-ориентированным, но работает быстрее.

Пример 1

class Method5
{
  public static void main(String args[]) 
  { 
    int number1 = -1234;
    StringBuilder sb = new StringBuilder(); 
    sb.append(number1); 
    String str1 = sb.toString(); 
    System.out.println("With StringBuilder method: string = " + str1); 
    StringBuffer SB = new StringBuffer(); 
    SB.append(number1); 
    String str2 = SB.toString(); 
    System.out.println("With StringBuffer method: string = " + str2); 
  } 
}

Вывод

With StringBuilder method: string = -1234
With StringBuffer method: string = -1234

Объект StringBuilder представляет объект String, который можно изменять и обрабатывать как массив с последовательностью символов. Чтобы добавить новый аргумент в конец строки, экземпляр StringBuilder реализует метод append().

Пример 2

class Method6
{
  public static void main(String args[]) 
  { 
	String str1 = new StringBuilder().append(1234).toString(); 
    System.out.println("With StringBuilder method: string = " + str1); 
    String str2 = new StringBuffer().append(1234).toString(); 
    System.out.println("With StringBuffer method: string = " + str2); 
  } 
}

Вывод

With StringBuilder method: string = -1234
With StringBuffer method: string = -1234

Наиболее важным является вызов метода toString(), чтобы получить строковое представление данных.

Через DecimalFormat

DecimalFormat — это конкретный подкласс класса NumberFormat, который форматирует десятичные числа. Он имеет множество функций, предназначенных для анализа и форматирования чисел. Вы можете использовать его для форматирования числа в строковое представление по определенному шаблону.

Пример

import java.text.DecimalFormat;
public class Method4
{
	 public static void main(String[] args) 
	 {
	      int number = 12345;
	      DecimalFormat numberFormat = new DecimalFormat("##,###");
	      String str = numberFormat.format(12345);	      
          System.out.println("The number to be converted is: " + number);
	      System.out.println("The string version of 12345 is: " + str);
	 }
	 
}

Вывод

The number to be converted is: 12345
The string version of 12345 is: 12,345

Если вы знаете, как использовать метод DecimalFormat, это лучший вариант для преобразования Integer в String из-за уровня контроля, который можете иметь при форматировании. Можете указать количество знаков после запятой и разделитель запятых для лучшей читаемости, как показано в примере выше.

Example 1: Program to Manually Convert a String to an Integer

#include <stdio.h>
#include <string.h>
main()
{
char num;
int  i, len;
int result=0;
printf("Enter a number: ");
gets(num);
len = strlen(num);
for(i=0; i<len; i++){
result = result * 10 + ( num - '0' );
}
printf("%d", result);
}

Initially, in this program, we include the two header files stdio.h and string.h. This is done in order to use the functions present in this two header files. The C programming language does not have its own functions. The main function is used to execute the C program. Hence, it is mandatory to have it in every C program. The program code is written within the curly braces of the main function.  Inside the main function we first define and declare the  different variables along with their data types. Variables i, len and result are declared as of integer data type. The result variable is initialized to zero. The printf() function is then called to display the message “enter a number” on the output screen. gets(num) will read the input number and store it as a string.  In this case, the string is an array of characters pointed to by num. Then, we calculate the length of the string using the strlen() function. Next, we loop through the string and convert the string into decimal value. Finally, the string is converted into an integer and printed on the screen.

You can learn how to write your own C programs with this course.

Convert Class

Another way to convert string to integer is by using static Convert class. The Convert class includes different methods which convert base data type to another base data type.

The Convert class includes the following methods to convert from different data types to int type.

  • Convert.ToInt16()
  • Convert.ToInt32()
  • Convert.ToInt64()

The method returns the 16-bit integer e.g. short, the returns 32-bit integers e.g. int and
the returns the 64-bit integer e.g. long.

Example: Convert string to int using Convert class
Copy

Pros:

  • Converts from any data type to integer.
  • Converts null to 0, so not throwing an exception.

Cons:

  • Input string must be valid number string, cannot include different numeric formats. Only works with valid integer string.
  • Input string must be within the range of called method e.g. Int16, Int32, Int64.
  • The input string cannot include parenthesis, comma, etc.
  • Must use a different method for different integer ranges e.g. cannot use the for the integer string higher than «32767».

Visit Convert class for more information.

Как преобразовать строку в число в Java?

Речь идёт о преобразовании String to Number

Обратите внимание, что в наших примерах, с которыми будем работать, задействована конструкция try-catch. Это нужно нам для обработки ошибки в том случае, когда строка содержит другие символы, кроме чисел либо число, которое выходит за рамки диапазона предельно допустимых значений указанного типа

К примеру, строку «onlyotus» нельзя перевести в тип int либо в другой числовой тип, т. к. при компиляции мы получим ошибку. Для этого нам и нужна конструкция try-catch.

Преобразуем строку в число Java: String to byte

Выполнить преобразование можно следующими способами:

C помощью конструктора:

    try {
        Byte b1 = new Byte("10");
        System.out.println(b1);
    } catch (NumberFormatException e) {
        System.err.println("Неправильный формат строки!");
    }

С помощью метода valueOf класса Byte:

    String str1 = "141";
    try {
        Byte b2 = Byte.valueOf(str1);
        System.out.println(b2);
    } catch (NumberFormatException e) {
        System.err.println("Неправильный формат строки!");
    }

С помощью метода parseByte класса Byte:

    byte b = ;
    String str2 = "108";
    try {
        b = Byte.parseByte(str2);
        System.out.println(b);
    } catch (NumberFormatException e) {
        System.err.println("Неправильный формат строки!");
    }

А теперь давайте посмотрим, как выглядит перевод строки в массив байтов и обратно в Java:

    String str3 = "20150";
    byte[] b3 = str3.getBytes();
    System.out.println(b3);

    //массив байтов переводится обратно в строку 
    try {
      String s = new String(b3, "cp1251");
      System.out.println(s);
    } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
    }

Преобразуем строку в число в Java: String to int

Здесь, в принципе, всё почти то же самое:

Используем конструктор:

    try { 
        Integer i1 = new Integer("10948");
        System.out.println(i1);
    }catch (NumberFormatException e) {  
        System.err.println("Неправильный формат строки!");  
    }   

Используем метод valueOf класса Integer:

    String str1 = "1261";
    try {
        Integer i2 = Integer.valueOf(str1);
        System.out.println(i2);    
    }catch (NumberFormatException e) {  
        System.err.println("Неправильный формат строки!");  
    }  

Применяем метод parseInt:

    int i3 = ;
    String str2 = "203955";
    try {
        i3 = Integer.parseInt(str2);
        System.out.println(i3);  
    } catch (NumberFormatException e) {  
        System.err.println("Неправильный формат строки!");  
    }     

Аналогично действуем и для других примитивных числовых типов данных в Java: short, long, float, double, меняя соответствующим образом названия классов и методов.

Преобразование с использованием Integer.toString(int)

Класс Integer имеет статический метод, который возвращает объект String, представляющий параметр int, указанный в функции Integer.toString(int). Этот подход, в отличие от других, может возвращать исключение NullPointerException.

Синтаксис

Есть два разных выражения для метода Integer.toString():

public static String toString(int i)

public static String toString(int i, int radix)

Параметры

Параметры этого метода:

  • i: целое число, которое будет преобразовано.
  • radix: используемая система счисления базы для представления строки.

Возвращаемое значение

Возвращаемое значение для обоих выражений — строка Java, представляющая целочисленный аргумент «i». Если используется параметр radix, возвращаемая строка определяется соответствующим основанием.

Пример

package MyPackage;
public class Method1 
{
	public static void main(String args[]) 
	{
		  int n = Integer.MAX_VALUE;
		  String str1 = Integer.toString(n);
		  System.out.println("The output string is: " + str1);
		  int m = Integer.MIN_VALUE;
		  String str2 = Integer.toString(m);
		  System.out.println("The output string is: " + str2);
	}
	 
}

Преобразование типов и класс Convert

Последнее обновление: 17.06.2017

Методы Parse и TryParse

Все примитивные типы имеют два метода, которые позволяют преобразовать строку к данному типу. Это методы Parse() и TryParse().

Метод Parse() в качестве параметра принимает строку и возвращает объект текущего типа. Например:

int a = int.Parse("10");
double b = double.Parse("23,56");
decimal c = decimal.Parse("12,45");
byte d = byte.Parse("4");
Console.WriteLine($"a={a}  b={b}  c={c}  d={d}");

Стоит отметить, что парсинг дробных чисел зависит от настроек текущей культуры. В частности, для получения числа double я передаю строку «23,56» с запятой в качестве разделителя.
Если бы я передал точку вместо запятой, то приложение выдало ошибку выполнения. На компьютерах с другой локалью, наоборот, использование запятой вместо точки выдало бы ошибку.

Чтобы не зависеть от культурных различий мы можем установить четкий формат с помощью класса NumberFormatInfo и его свойства
NumberDecimalSeparator:

using System;
using System.Globalization;

namespace FirstApp
{
    class Program
    {
        public static void Main(string[] args)
        {
            IFormatProvider formatter = new NumberFormatInfo { NumberDecimalSeparator = "." };
            double b = double.Parse("23.56", formatter);
        }
    }
}

В данном случае в качестве разделителя устанавливается точка. Однако тем не менее потенциально при использовании метода Parse мы можем столкнуться с ошибкой, например,
при передачи алфавитных символов вместо числовых. И в этом случае более удачным выбором будет применение метода TryParse().
Он пытается преобразовать строку к типу и, если преобразование прошло успешно, то возвращает true. Иначе возвращается false:

int number;
Console.WriteLine("Введите строку:");
string input = Console.ReadLine();

bool result = int.TryParse(input, out number);
if (result == true)
	Console.WriteLine("Преобразование прошло успешно");
else
	Console.WriteLine("Преобразование завершилось неудачно");

Если преобразование пройдет неудачно, то исключения никакого не будет выброшено, просто метод TryParse возвратит false, а переменная number будет содержать значение по умолчанию.

Convert

Класс Convert представляет еще один способ для преобразования значений. Для этого в нем определены следующие статические методы:

  • ToBoolean(value)

  • ToByte(value)

  • ToChar(value)

  • ToDateTime(value)

  • ToDecimal(value)

  • ToDouble(value)

  • ToInt16(value)

  • ToInt32(value)

  • ToInt64(value)

  • ToSByte(value)

  • ToSingle(value)

  • ToUInt16(value)

  • ToUInt32(value)

  • ToUInt64(value)

В качестве параметра в эти методы может передаваться значение различных примитивных типов, необязательно строки:

int n = Convert.ToInt32("23");
bool b = true;
double d = Convert.ToDouble(b);
Console.WriteLine($"n={n}  d={d}");

Однако опять же, как и в случае с методом Parse, если методу не удастся преобразовать значение к нужному типу, то он выбрасывает исключение FormatException.

НазадВперед

Caution – Handle NumberFormatException

You should keep you code in try-catch block to avoid any unwanted behavior in application. Any un-parsable number in any of above method with throw .

int intVal = Integer.parseInt("1001x"); //un-parsable integer
System.out.println(intVal);

This will produce error:

Exception in thread "main" java.lang.NumberFormatException: For input string: "1001x"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:580)
	at java.lang.Integer.parseInt(Integer.java:615)
	at com.howtodoinjava.example.StringToIntExamples.main(StringToIntExamples.java:7)

To safeguard your application, use try-catch block handle the exception appropriately.

String stringVal = "1001x";

int intVal = 0;

try
{
	intVal = Integer.parseInt(stringVal);
}
catch(NumberFormatException nfe){
	System.out.println("un-parsable integer :: " + stringVal);
}
System.out.println(intVal);

Output:

un-parsable integer :: 1001x
0

Use above methods to parse Java string to int as per application requirements.

Overview of Strings in C

In the C language, a string is the type used to store any text including alphanumeric and special characters. Internally, it’s represented as an array of characters. Each string is terminated by a ‘ ’ character or “NUL”. They are called “null-terminated strings.” Each character is enclosed within single quotes whereas a string is enclosed with double quotes. Many C programs make use of strings and associated properties. The necessary header file for string functions is string.h. The operations possible on strings include- calculating the string length, concatenation of strings, comparison of strings and so on. To learn more about strings in C, take this course on C programming.

How to convert String to int in Java

  1. Java string to int using Integer.parseInt(String)

    is a static method of the Integer class that returns an integer object representing the specified String parameter.

    Syntax:

    Or

    Where is a String you need to convert and is a base of the parsed number

    Converting String to Integer, Java example using parseInt()

    The output is:

    Here we’ve got 111 in the first variant and 7 for the second. 7 is a decimal form of binary 111.

  2. Convert using Integer.valueOf(String)

    Integer.valueOf(String s) is a Java method of Integer class. It returns an Integer decimal interpretation of a String object so it is used to convert String to Integer.

    Syntax:

    Output:

Convert.ToInt32 Method

Convert is a static helper class in C# to change the data type of argument to another data type. There are three methods available to convert string data type to int.

  1. Convert.ToInt16
  2. Convert.ToInt32
  3. Convert.ToInt64

Convert methods works with any data type whether it is string, long, decimal, byte, bool or any other data type. Always use ToInt32 method, if we are working with int data type.

Convert.ToInt32 method does not work with invalid data, it throws a FormatException.

This method is also very helpful when we want to convert char data to ASCII value. Below is the example of using Convert.ToInt32 method.

static void Main(string[] args)
{
    int i1 = Convert.ToInt32("843793");
    Console.WriteLine(i1); //Print 843793
            
    int i2 = Convert.ToInt32("0099fkl");    //Throws FormatException

    int i3 = Convert.ToInt32('a');  
    Console.WriteLine(i3);  // Print 97

    int i4 = Convert.ToInt32(null);
    Console.WriteLine(i4);  // Print 0
}

How to convert int to string in Java

  1. Convert by adding an empty string.

    The easiest way to convert int to String is very simple. Just add to int or Integer an empty string «» and you’ll get your int as a String. It happens because adding int and String gives you a new String. That means if you have , just define and you’ll get your new String.

    Here is an example:

    The output is:

  2. Java convert int to string using Integer.toString(int)

    Object class is a root class in Java. That means every Java class is directly or indirectly inherited from the Object class and all Object class methods are available for all Java classes.

    Object has a special method toString() to represent any object as a string. So, every Java class inherits this method as well. However the good idea is to override this method in your own classes to have an appropriate result.

    The Integer class’ toString() method returns a String object representing the specified int or Integer parameter.

    Its Syntax:

    The method converts argument i and returns it as a string instance. If the number is negative, the sign will be kept.

    Example:

    You may use the toString method to convert an Integer (wrapper type) as well.

    The result is:

    convert Integer to String: -7

    You may use special that returns a string representation of the number i with the base base and than to String. For example

    The syntax is:

    Here is an example:

    The output is a String binary representation of decimal number 255:

  3. Convert int to String using String.valueOf(int)

    Method returns the string representation of the int argument.

    The syntax of the method is:

    Here is an example of Java convert int to String using :

    You may do the same with an Integer (wrapper type of int):

    The output will be:

    convert Integer to String: -7

  4. Convert using DecimalFormat

    is a class defined in package and a subclass of . It is used for formatting a decimal number to a string representing following a certain pattern. We can use it for Integers as well.

    Example:

    The output is:

  5. Convert using String.format()

    String.format() is one more way to convert an Integer to String Object.

    Syntax

    Example

    The output is:

TryParse Method

The methods are available for all the primitive types to convert string to the calling data type. It is the recommended way to convert string to an integer.

The method converts the string representation of a number to its 16, 32, and 64-bit signed integer equivalent.
It returns boolean which indicates whether the conversion succeeded or failed and so it never throws exceptions.

The methods are available for all the integer types:

  • Int16.TryParse()
  • Int32.TryParse()
  • Int64.TryParse()

Method Overloads

bool Int32.TryParse(string s, out int result)

bool Int32.TryParse(string s, NumberStyle style, IFormatProvider provider, out int result)

The method takes 3 parameters identical to the method having the same functionality.

The following example demonstrates the method.

Example: Convert string to int using TryParse()
Copy

The following example demonstrates converting invalid numeric string.

Example: Convert string to int using TryParse()
Copy

In the above example, which is invalid numeric string.
However, method will return false instead of throwing an exception.

Thus, the method is the safest way to converting numeric string to integer type when we don’t know whether the string is a valid numeric string or not.

Pros:

  • Converts different numeric strings to integers.
  • Converts string representation of different number styles.
  • Converts culture-specific numeric strings to integers.
  • Never throws an exception. Returns false if cannot parse to an integer.

Cons:

  • Must use out parameter.
  • Need to write more code lines instead of single method call.

Related Articles

  • Compare strings in C#
  • Difference between String and string in C#.
  • How to get a comma separated string from an array in C#?

TutorialsTeacher

Author

tutorialsteacher.com is a free self-learning technology web site for beginners and professionals.

Use Integer.decode()

is another method for string to int conversion but only for decimal, hexadecimal and octal numbers.

  • Octal numbers should start with optional plus/minus sign and then suffix ‘0’ i.e. +0100, -02022, 0334, 0404 etc.
  • Decimal numbers should start with optional plus/minus sign i.e. +100, -2022, 334, 404 etc.
  • Hex numbers should start with optional plus/minus sign and then suffix ‘0x’ or ‘0X’ i.e. +0x100, -0x2022, 0x334, 0x404 etc.

It does not have any overloaded form:

Integer intVal = Integer.decode("+100");
System.out.println(intVal);

Integer intVal1 = Integer.decode("+0100"); 	//base 8
System.out.println(intVal1);

Integer intVal2 = Integer.decode("+0x100");	//base 16
System.out.println(intVal2);

Output:

100
64
256

int.Parse method

int.Parse method converts string input into integer. It takes the string input and returns int as output.

static void Main(string[] args)
{
    string strInNumbers = "98442878";

    int number = int.Parse(strInNumbers); //Success

    Console.WriteLine(number); // Print 98442878
}

Before using the int.parse, we must sure the string has a valid number. If we pass invalid string to int.Parse method, then it throws FormatException like shown below:

static void Main(string[] args)
{
    string strAlphaNumbers = "4343REK";
    try
    {
        int secondInteger = int.Parse(strAlphaNumbers); //throws exception
    }
    catch (FormatException ex)
    {
        Console.WriteLine(ex.Message);  
    }
}

Above code will throw a format exception with the message «Input string was not in a correct format.

Java – Convert String to int using Integer.valueOf(String)

works same as . It also converts a String to int value. However there is a difference between and , the method returns an object of Integer class whereas the method returns a primitive int value. The output of the conversion would be same whichever method you choose. This is how it can be used:

String str="1122";
int inum = Integer.valueOf(str);

The value of inum would be 1122.

This method also allows first character of String to be a minus ‘-‘ sign.

String str="-1122";
int inum = Integer.valueOf(str);

Value of inum would be -1122.

Similar to the parseInt(String) method it also throws when all the characters in the String are not digits. For example a String with value “11aa22” would throw an exception.

Lets see the complete code for conversion using this method.

Java Convert String to int example using Integer.valueOf(String)

public class JavaExample{
   public static void main(String args[]){
	//String with negative sign
	String str="-234";
		
	//An int variable
	int inum = 110;
		
	/* Convert String to int in Java using valueOf() method
	 * the value of variable inum2 would be negative after 
	 * conversion
	 */
	int inum2 = Integer.valueOf(str);
		
	//Adding up inum and inum2
	int sum = inum+inum2;
		
	//displaying sum
	System.out.println("Result is: "+sum);
   }
}

Output:

Lets see another interesting example of String to int conversion.

What is Type Conversion?

Many times in C programs, expressions contain variables and constants of different data types. For calculation purposes, they need to be converted to the same data type. When you convert one data type into another, the method is termed type conversion.

In C, we have 2 types of type conversion

  1. Implicit Type Conversion – This kind of type conversion is done automatically by the compiler. Programmers do not play any role here.
  2. Explicit Type Conversion- Here the programmer is responsible for the type conversion. This is also called typecasting. The syntax is as follows.
(datatype) expression;

The above item is called a cast operator. Take a look at this example.

char a;
int b;

a=(char)b;

This is a simple way to convert an integer to a character type. Here, ‘a’ is of character data type and b is of integer data type. It is not possible to assign the value of variable b to variable a as they are of different data types. So, we typecast integer b to character in this example. Now, both a and b are of character data type.

Преобразование строки Python в int

Метод Python позволяет преобразовать любое значение типа String в целочисленное значение.

Синтаксис:

int(string_variable)

Пример:

string_num = '75846'
print("The data type of the input variable is:\n")
print(type(string_num))

result = int(string_num)
print("The data type of the input value after conversion:\n")
print(type(result))
print("The converted variable from string to int:\n")
print(result)

Выход:

The data type of the input variable is:
<class 'str'>
The data type of the input value after conversion:
<class 'int'>
The converted variable from string to int:
75846

Python также предоставляет нам эффективный вариант преобразования чисел и значений типа String в целочисленные значения с определенной базой в соответствии с системой счисления.

Синтаксис:

int(string_value, base = val)

Пример:

string_num = '100'
print("The data type of the input variable is:\n")
print(type(string_num))

print("Considering the input string number of base 8....")
result = int(string_num, base = 8)
print("The data type of the input value after conversion:\n")
print(type(result))
print("The converted variable from string(base 8) to int:\n")
print(result) 

print("Considering the input string number of base 16....")
result = int(string_num, base = 16)
print("The data type of the input value after conversion:\n")
print(type(result))
print("The converted variable from string(base 16) to int:\n")
print(result) 

В приведенном выше фрагменте кода мы преобразовали «100» в целочисленное значение с основанием 8 и основанием 16 соответственно.

Выход:

The data type of the input variable is:

<class 'str'>
Considering the input string number of base 8....
The data type of the input value after conversion:

<class 'int'>
The converted variable from string(base 8) to int:

64
Considering the input string number of base 16....
The data type of the input value after conversion:

<class 'int'>
The converted variable from string(base 16) to int:

256

int.TryParse Method

int.TryParse introduced in C# to fill the shortcoming of int.Parse method. TryParse method does not throw an exception when we passed invalid data. It returns true if the argument is a valid integer, or returns false if argument is an invalid integer.

int.TryParse returns the data into an out variable which is second argument of TryParse method. int.TryParse example is shown below:

static void Main(string[] args)
{
    string strInNumbers = "123434";
    int output;
    if (int.TryParse(strInNumbers, out output) == true)
    {
        Console.WriteLine(output);  //Print 123434
    }
    else
    {
        Console.WriteLine("Invalid number");
    }
}

In case of invalid number argument, TryParse method returns 0 in the output variable.

We can use TryParse method with if condition or without if conditions. Below are the examples of using without if conditions.

int newNumber;

int.TryParse("8978KAPIL", out newNumber);   // Invalid integer
Console.WriteLine(newNumber);  //Print 0

int.TryParse("8473", out newNumber); // Valid integer
Console.WriteLine(newNumber); // Print 8473

Convert a String to int with leading zeroes

In this example, we have a string made up of digits with leading zeroes, we want to perform an arithmetic operation on that string retaining the leading zeroes. To do this we are converting the string to int and performing the arithmetic operation, later we are converting the output value to string using format() method.

public class JavaExample{
   public static void main(String args[]){
       String str="00000678";
       /* String to int conversion with leading zeroes
        * the %08 format specifier is used to have 8 digits in
        * the number, this ensures the leading zeroes
        */
       str = String.format("%08d", Integer.parseInt(str)+102);
       System.out.println("Output String: "+str);
   }
}

Output:

Converting an Integer to a String

Just like before, the method of converting an int to a string in earlier versions of C++ differs from the one used in C++11 and above.

Up to C++03

Users of this version can use the class from the C++ standard library. The following example converts the integer into a string named :

Example Copy

Here’s what happens when you use the code above:

  • Before converting the integer , a string is declared through the class.
  • The stringstream object called is declared.
  • An operator is used to insert the data from integer to the stringstream object.
  • The function returns the with a value of .

Since C++11

For newer versions of C++, we’re going to use the class. Take a look at the example below, where integer is converted into a string called :

Example Copy

As you can see, the new string class converts a string into an integer directly without having to use a stringstream object as the intermediary.

Java – Convert String to int using Integer.parseInt(String)

The parseInt() method of Integer wrapper class parses the string as signed integer number. This is how we do the conversion –

Here we have a String with the value “1234”, the method parseInt() takes as argument and returns the integer value after parsing.

String str = "1234";
int inum = Integer.parseInt(str);

Lets see the complete example –

Java Convert String to int example using Integer.parseInt(String)

public class JavaExample{
   public static void main(String args[]){
	String str="123";
	int inum = 100;

	/* converting the string to an int value
	 * ,the value of inum2 would be 123 after
	 * conversion
	 */
	int inum2 = Integer.parseInt(str);
		
	int sum = inum+inum2;
	System.out.println("Result is: "+sum);
   }
}

Output:

Note: All characters in the String must be digits, however the first character can be a minus ‘-‘ sign. For example:

String str="-1234";
int inum = Integer.parseInt(str);

The value of would be -1234

Integer.parseInt() throws NumberFormatException, if the String is not valid for conversion. For example:

String str="1122ab";
int num = Integer.valueOf(str);

This would throw . you would see a compilation error like this:

Exception in thread "main" java.lang.NumberFormatException: For input string: "1122ab"
 at java.lang.NumberFormatException.forInputString(Unknown Source)
 at java.lang.Integer.parseInt(Unknown Source)
 at java.lang.Integer.parseInt(Unknown Source)

Lets see the complete code for String to int conversion.

Example 2: A Program to Convert String to Integer Using the atoi() Function

atoi() is a function that converts a string data type to integer data type in the C language. The syntax of this function is as follows

int atoi((const char * str);

Here, str is of type pointer to a character. The const keyword is used to make variables non-modifiable. This function returns an integer value after execution. The atoi() function is present in the stdlib.h header file. This header file contains all the type casting functions used in the C language.

#include <stdio.h>
#include <stdlib.h>
main()
{
char x = "450";
int result = atoi(x);
printf("integer value of the string is %d\n", result);
}

The code is not complex, but to understand it better, you may want to take this course on C programming.

The list of other string to numerical values in-built type casting functions used in C programs include

  • atof()- This function is used to convert string to a floating point value.
  • atol()- Use this function to convert a string to a long integer value.

Hope this article was helpful and informative. Do try out the examples for yourself and experiment with them. Programming is one of those things that becomes better with practice. At any time, if you need help, feel free to refer back to this C course for insights into C programming.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector