MATLAB Answers

How can I convert douvle value to int or Integer?

3 views (last 30 days)
Mira le
Mira le on 12 Feb 2020
Answered: Steven Lord on 12 Feb 2020
during the coding my programe I 've got a double value
num= 1.1110e+03
I 'm going to use this value in other value but I should convert it in int
How can I do that ?
please help me

Answers (4)

Steven Lord
Steven Lord on 12 Feb 2020
Do you need to convert to an integer data type or is converting to an integer value (if it's not one already) sufficient?
If you need an integer value check that it's not one already first. This could involve changing the default display format
format longg
or involve checking that when you round it you get the same number back.
x = 1234567;
x == round(x)
If it's not an integer value, use one of the rounding functions (round, floor, ceil, fix) to round it to the nearest integer value.
If you do need an integer data type use one of the integer data type conversion functions on the page to which Shivaraj Durairaj linked. KSSV and stozaki listed some of those conversion functions. One other conversion function that none of the previous posters mentioned was cast which is different from typecast. cast preserves the value (which likely means the bit pattern used to store the data in memory may change) while typecast preserves the bit pattern used to store the data in memory (which likely means the values will change.)

Shivaraj Durairaj
Shivaraj Durairaj on 12 Feb 2020
To convert from double to the desired integer type, refer the following link.

stozaki on 12 Feb 2020
If you convert from double to int32, you can use int32 function.
It work casting as int32.
intnum = int32(num);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!