how can I convert a decimal to an integer?

1.040 visualizaciones (últimos 30 días)
sadel
sadel el 26 de Jun. de 2011
Editada: Szymon Buchaniec el 14 de Mayo de 2020
how can I convert a decimal to an integer?
example
1.232422->1
2123.43242322->2123

Respuesta aceptada

Oleg Komarov
Oleg Komarov el 26 de Jun. de 2011
  • fix to strip all the decimals
  • round can change the integer part
fix (1.9) % 1
round(1.9) % 2

Más respuestas (3)

Szymon Buchaniec
Szymon Buchaniec el 14 de Mayo de 2020
Editada: Szymon Buchaniec el 14 de Mayo de 2020
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

Mads Svendsen-Tune
Mads Svendsen-Tune el 26 de Jun. de 2011
There is a function: round()

Willem Dorff
Willem Dorff el 19 de Feb. de 2020
floor() to round down to nearest integer
ceil() to round up to nearest integer

Categorías

Más información sobre Numeric Types en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by