Numeric to Ordinal-String

Versión 2.2.1 (5,46 KB) por Stephen23
Convert numeric values to a string array of integers with ordinal suffixes. Fully vectorized!
858 descargas
Actualizado 3 feb 2024

Ver licencia

Convert a numeric array into a string array of the rounded values with ordinal suffixes, e.g. 1 => "1st".
Similar to MATLAB's IPTNUM2ORDINAL (image toolbox) and NUM2ORDINAL (mapping toolbox) and other files available on FEX, except that NUM2ORD:
  • accepts a numeric array of any size,
  • accepts a numeric array of any class (floating point, INTx or UINTx),
  • returns a string array (not a character array!),
  • is fully vectorized (no loops or ARRAYFUN calls are used or required),
  • provides the correct ordinal suffixes for numeric values ending in 11, 12, or 13.
Character Output
For MATLAB versions prior to R2017a please download version 1.5.2 (with character array output).
>> num2ord(1)
ans = "1st"
>> num2ord(1:6)
ans = ["1st","2nd","3rd","4th","5th","6th"]
>> [str,sfx] = num2ord([1;11;111;1111])
str = ["1st";"11th";"111th";"1111th"]
sfx = [ "st"; "th"; "th"; "th"]
>> num2ord(intmax('int64')-4)
ans = "9223372036854775803rd"
>> num2ord([-1,-0,0;-Inf,NaN,Inf])
ans = ["-1th","-0th","0th";"-Infth","NaNth","Infth"]

Citar como

Stephen23 (2024). Numeric to Ordinal-String (, MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2010b
Compatible con cualquier versión desde R2017a
Compatibilidad con las plataformas
Windows macOS Linux
Más información sobre Characters and Strings en Help Center y MATLAB Answers.

Community Treasure Hunt

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

Start Hunting!
Versión Publicado Notas de la versión

* Add more floating point testcases.


* Add 2nd output, with just the suffixes.
* Remove the optional 2nd input.


* Add testcases.


* Update description.


* Update description.


* Add test cases.
* More robust input class handling.


* Minor edits to Mfile help.


* Include test function.
* Improve examples.


* Correct sreenshot


* Correct screenshot.


* Change to string array output.
* Rename function NUM2ORDINAL -> NUM2ORD.


* Add error IDs.


* Added HTML documentation. Function unchanged.

* Improve documentation.

Added Acknowledgements

- Fix minor bug with int* and uint*.

- Improve function description, add acknowledgements.

- Fix minor bugs with -0, int* & uint* handling.