How to change number precision with writestruct

6 ビュー (過去 30 日間)
Bruno Luong
Bruno Luong 2021 年 5 月 14 日
コメント済み: Scott MacKenzie 2021 年 5 月 16 日
The number of significant digits of writestruct is quite limited, as showed by this example
s=struct('pi',pi);
writestruct(s,'pi.xml');
type pi.xml
<?xml version="1.0" encoding="UTF-8"?> <struct> <pi>3.1416</pi> </struct>
Does anyone know how to change/control/increase it?
  1 件のコメント
Bruno Luong
Bruno Luong 2021 年 5 月 14 日
If it's not possible, this must be candidate for a frustration thread

サインインしてコメントする。

採用された回答

Scott MacKenzie
Scott MacKenzie 2021 年 5 月 14 日
編集済み: Scott MacKenzie 2021 年 5 月 14 日
s=struct('pi', num2str(pi, 15)); % pi with 15 significant figures
writestruct(s, 'pi.xml');
type pi.xml
Output:
<?xml version="1.0" encoding="UTF-8"?>
<struct>
<pi>3.141592653589793</pi>
</struct>
  4 件のコメント
Bruno Luong
Bruno Luong 2021 年 5 月 16 日
Thanks for the effort Scott.
To me still not ideal. This XML is used as interface with other SW (otherwise I won't bother with XML). It a pain to minimze the precision output.
Scott MacKenzie
Scott MacKenzie 2021 年 5 月 16 日
Yes, I see your point. I studied the documentation and clearly writestruct is not intended for numeric variables. The focus is on text, and xml in particular. Good luck.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by