How can I convert douvle value to int or Integer?

2 ビュー (過去 30 日間)
Mira le
Mira le 2020 年 2 月 12 日
回答済み: Steven Lord 2020 年 2 月 12 日
during the coding my programe I 've got a double value
example:
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
THanks

回答 (4 件)

Steven Lord
Steven Lord 2020 年 2 月 12 日
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.)

KSSV
KSSV 2020 年 2 月 12 日
Read about int32, int64, uint32, uint64.

Shivaraj Durairaj
Shivaraj Durairaj 2020 年 2 月 12 日
To convert from double to the desired integer type, refer the following link.

stozaki
stozaki 2020 年 2 月 12 日
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!

Translated by