## Numeric Data types

There are three different data types to store numeric data.
• int
• float
• complex

### int (integer)

Data type 'int' is used to hold the whole numbers (i.e., no decimal positions). This number can either be positive or negative.

 1234567 # int - used to hold whole numbers# Positive numberspositive_number = 1# Negative numbersnegative_number = -2

It is possible that an integer data can be stored in a string and we might need to convert it to the int type. We can do that using built-in method int().

 1234 # String to intnumber_as_string = "10"number = int(number_as_string)

int() method can also be used to convert floating point numbers to integer. This removes any decimal values and moves whole number to integer variable.

 1234567 # Float to intfloat_value = 10.0number = int(float_value) # 10 float_value = 10.50number = int(float_value) # 10

### float (floating point numbers)

Data type 'float' is used to hold the floating point numbers (i.e., numbers with at least one decimal point). This number can either be positive or negative.

 1234567 # float - used to hold floating point numbers# positive floating point numberpositive_float = 10.123 # negative floating point numbernegative_float = -10.123

We can also specify floating point numbers with 'e' to indicate power of 10.

 1234 # float with 'e' to indicate power of 10float_value = 1.245e10print(float_value) # 12450000000.0

In a similar way, if we have large floating point value and when we print the data, it returns the data with power of 10.

 1234 # large floating point valuefloat_value = 1234567890123456789.012345print(float_value) # 1.2345678901234568e+18

Result of a division operation is always returned as float, even though there are no decimal places in the result.

 123 result = 10/5print(result) # 2.0

Built-in float() method can be used to convert floating point number from string or int.

 12345678910 # string to floatfloat_as_string = "12.34"float_value = float(float_as_string)print(float_value) # 12.34 # int to floatinteger_value = 12float_value = float(integer_value)print(float_value) # 12.0

### complex

Data type 'complex' is used to hold imaginary numbers (indicated by 'j'). This can be a combination of real numbers and imaginary number (multiplied by 'j'). value of 'j' is equal to square root of -1.

 12345 # complex valuesimaginary_value = 1j real_and_imaginary = 4 + 1j

Like any other numbers, we can do addition or subtraction of complex numbers.

 12345678 # complex valuesimaginary_value = 1jreal_and_imaginary = 4 + 1j # Addition and subtraction of complex valuesres1 = imaginary_value + real_and_imaginary # (4+2j)res2 = real_and_imaginary - imaginary_value # (4+0j)

Built-in complex() method can be used to convert string, int or float values to complex.

 12345678910 # string, int or float to complexint_value = 10complex_value = complex(int_value) # (10+0j) float_value = 10.0complex_value = complex(float_value) # (10+0j) string = "10+j"complex_value = complex(string) # (10+1j)

We have seen different numeric data types (int, float and complex) and how to convert the data from one type to another numeric data type. Hope this has been helpful in understanding a bit about numeric data types.