Round with significant digits
Editor's Note: This file was selected as MATLAB Central Pick of the Week
This little function rounds a number (or the elements of a vector ot matrix) towards the nearest number with N significant digits.
Examples:
roundsd(0.012345,3) returns 0.0123
roundsd(12345,2) returns 12000
roundsd(12.345,4,'ceil') returns 12.35
This is a useful complement to Matlab's ROUND, ROUND10 and ROUNDN (Mapping toolbox), especially when dealing with data with a large variety of order of magnitudes.
I was about to upload this file when I found "sd_round.m" by Edward Zechmann (see aknowledgment), which has similar feature (and more). But, because my script is very different in coding (much much shorter), I decided to share it anyway.
Cite As
François Beauducel (2026). Round with significant digits (https://uk.mathworks.com/matlabcentral/fileexchange/26212-round-with-significant-digits), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Mathematics and Optimization > Mapping Toolbox > Coordinate Reference Systems >
- Radar > Mapping Toolbox > Coordinate Reference Systems >
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.6.0.0 | fix a problem with vectors with negative and positive exponent values (problem since the last update only). |
||
| 1.5.0.0 | solve the floating point arithmetic problem with roundsd(3.55,2) pointed out by Will and Yuri K. |
||
| 1.3.0.0 | - adds different methods for rounding;
|
||
| 1.2.0.0 | works with negative numbers. |
||
| 1.1.0.0 | works with negative numbers. |
||
| 1.0.0.0 |
