Rounding to n significant digits
I'm trying to write code in MATLAB that will round number to certain (as I ask) significant digits. I'm not sure how to do it. Any suggestions? To round to d significant digits : >> d = 3; %// number of digits >> x = 5.237234; %// example number >> D = 10^(d-ceil(log10(x))); >> y = round(x*D)/D y = 5.2400 To round to d decimal digits : >> d = 3; %// number of digits >> x = 5.237234; %// example number >> D = 10^d; >> y = round(x*D)/D y = 5.2370 EDIT Actually it's easier: the round function supports these options: >> d = 3; >> x = 5.237234; >> y = round(x, d, 'significant') y = 5.2400 >> d = 3;