how can I convert a decimal to an integer?

how can I convert a decimal to an integer?
example
1.232422->1
2123.43242322->2123

 Akzeptierte Antwort

Oleg Komarov
Oleg Komarov am 26 Jun. 2011

7 Stimmen

  • fix to strip all the decimals
  • round can change the integer part
fix (1.9) % 1
round(1.9) % 2

Weitere Antworten (3)

Szymon Buchaniec
Szymon Buchaniec am 14 Mai 2020
Bearbeitet: Szymon Buchaniec am 14 Mai 2020

6 Stimmen

All the proposed answers:
  • round(x) - round to the closest integer to x
  • floor(x) - round to the nearest integer less or equal to x
  • ceil(x) - round to the nearest integer greater than or equal to x
  • fix(x) - round to the nearest integer towards 0 (floor(x) for x >=0 and ceil(x) for x<=0)
does not convert the number, but only rounds it. Type of the number is still the same. To convert a decimal (double) number to an integer, one needs to use Conversion Functions. Rounding is automatic, but can be chosen explicitly. Examples:
  • uint16(1.8) -> 2
  • int32(floor(1.8)) -> 1
Willem Dorff
Willem Dorff am 19 Feb. 2020

0 Stimmen

floor() to round down to nearest integer
ceil() to round up to nearest integer

Kategorien

Mehr zu Elementary Math finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by