Exact number of digits output in num2str

I am building input files for Nastran and it requires exact spacing in the strings for the numbers (in string format). I am doing a lot of runs so I don't want to change my Matlab code all the time. I need to output some values with exactly 4 characters (so 1 becomes 1.00, pi becomes 3.14, 0.5 becomes 0.50, etc), but I haven't been able to figure it out yet. Using the minimum number of characters in num2str with '%2f' and rounding beforehand using round(100*n)/100 yields for pi 3.140000, probably due to roundoff error. Any help?

 採用された回答

Bjorn Gustavsson
Bjorn Gustavsson 2015 年 6 月 23 日

4 投票

Well you get part of the way with %4.2f, as in
num2str(pi,'%4.2f')
that breaks down for large numbers alike pi*1e12, but then I don't know how you're supposed to squeeze that into exactly 4 chars...
HTH

その他の回答 (1 件)

Bob Roos
Bob Roos 2015 年 6 月 23 日

0 投票

Thanks, didn't know that you could put the 4. there as well.

カテゴリ

ヘルプ センター および File ExchangeNumeric Types についてさらに検索

質問済み:

2015 年 6 月 23 日

回答済み:

2015 年 6 月 23 日

Community Treasure Hunt

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

Start Hunting!

Translated by