Show limited digits numbers.

4 次查看(过去 30 天)
armin m
armin m 2021-10-15
评论: armin m 2021-10-16
Hi i wanna numbers limited to 6 digits. For example. A=2.54357766 be show A=2.543578. Tnx
  2 个评论
Cris LaPierre
Cris LaPierre 2021-10-16
Where do you want this to be shown?
armin m
armin m 2021-10-16
编辑:armin m 2021-10-16
Command windows and every where i wanna to print. E.g .txt file from diary on mode. But my main purpose relate to calculation. I have ref. Which calculated accordding to 6 digits numbers so i think the numbers with for example 10 digits have effect on result. So i wanna decrease digits to 6 to compare my results with reference.

请先登录,再进行评论。

回答(1 个)

Chunru
Chunru 2021-10-16
You can use fprintf with format specifier to format the print out. "doc fprintf".
A=2.54357766;
fprintf('%.6f\n', A);
2.543578
  2 个评论
Walter Roberson
Walter Roberson 2021-10-16
Note that doing so will not change the result. If you are concerned that "10 digits have effect on results" and you want to decrease the digits to 6 for calculation purpose, then you are not going to achieve your aims just by using fprintf()
Perhaps what you are looking for is
format long g
A=2.54357766
A =
2.54357766
B = round(A, 6)
B =
2.543578
If so, then be careful: MATLAB does not use decimal calculations, and 0.1 is not exactly reprepresentable in binary calculations, so round(,6) is not actually rounding to 6 decimal places, only to as close as it can get:
fprintf('%.999g\n', B)
2.543578000000000116642695502378046512603759765625
That is the exact binary representation that is used.
If you need calculations done in 6 decimal places, then you have three choices:
  1. Use the Symbolic Toolbox... and worry about the effect of the 5 hidden guard digits during calculations; or
  2. Calculate in integer ratios, perhaps using John D'Errico's Variable Precision Integer package; or
  3. Use the Fixed Point Toolbox

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by