我認爲這是一個簡單的問題。我想:我怎樣才能達到一定的浮點精度?
a = 1.154648126486416;
成爲:
a = 1.154;
,而不是:
a = 1.15000000000;
我怎樣做,如果沒有使用format('bank')
。
我認爲這是一個簡單的問題。我想:我怎樣才能達到一定的浮點精度?
a = 1.154648126486416;
成爲:
a = 1.154;
,而不是:
a = 1.15000000000;
我怎樣做,如果沒有使用format('bank')
。
你可以這樣做:對@ gnovice的回答
a = floor(a*1000)/1000;
大廈,您可以格式化輸出字符串擺脫多餘的零的。有關所有格式選項,請參閱sprintf
文檔。
str=sprintf('The result is %1.3f.',a);
disp(str)
將顯示「結果是1.154」。在命令提示符下。或寫入字符串到文件,等等等等
a = 1.154648126486416;
% desired precision
b = -3;
% your answer
ans = floor(a*10^(-b))/(10^(-b));
答案是1.1540
這是件好事,如果你不關心數字的其餘部分,但如果你真的關心,那麼你就必須簡單地將「地板」改變爲「圓形」。
ans = round(a*10^(-b))/(10^(-b));
答案是1.1550
你想圓,截形,或只顯示一定數量的數字? – Doresoom 2010-06-07 14:40:06