我分了一些,說控制浮點數的精度在MATLAB
x=2;
y=1/3;
z=x*y;
我想到Z到是0.66666666666667
即小數點後14號和同爲年。現在,當我這樣做時,我只得到0.6667
。如何將答案擴展到精確的14位精度?
我分了一些,說控制浮點數的精度在MATLAB
x=2;
y=1/3;
z=x*y;
我想到Z到是0.66666666666667
即小數點後14號和同爲年。現在,當我這樣做時,我只得到0.6667
。如何將答案擴展到精確的14位精度?
如果只是diplaying的數量,您可以使用sprintf
功能只用一行
str = sprintf('%.14f', pi); % print PI with exactly 14 digits after decimal point
disp(str);
或者fprintf
:
fprintf('%.14f', pi);
fprintf是書面文件,但輸出字符串結果如果沒有給出文件標識符,則返回到屏幕。
如果你真的想要的數量有那麼精確四捨五入至14位是這樣的:
format long g
x=2;
y=1/3;
z=x*y;
round(z*1e14)/1e14
ans = 0.66666666666667
如果它只是顯示然後使用德韋的sprintf
解決方案。
嘗試在命令行中輸入'format long g' – Dan
它給了我小數點後的15位數字。我想要完全如此。如何做到這一點 – MSD
然後四捨五入到14位 – Dan