readcell関数で取得するExcelのデータ精度に関して
显示 更早的评论
Excelのセルに「79.999999998」と反映し、値が「80」のように丸められたとします。

そのセル値をreadcell関数で取得したのですが、「79.999999998」ではなく「80」の値として取得されていることを確認しました。

readcell関数で、Excel内のセル値を取得する際に、丸められた値ではなく素の精度の値(今回の場合「79.999999998」)を取得できるようにするオプションはございますか?
■追記
readcell関数ではR2021aまでは、Excelデータの素の精度を取得することが出来ない。
その為、xlsreadを用いたり、readmatrixやreadtableなど、他の読込関数で読み込むほか回避する。
R2021bからは改善
6 个评论
Hernia Baby
2021-9-30
確認ですが、これはどうしてもreadcellを使わなければいけないのでしょうか?
Hiroki Konno
2021-9-30
上記に従い、ファイルの内容に基づくインポート オプションを得て、"VariableTypes"が最初から"double"になっていたので、逆に80にするためにこれを"int8"に変えてreadcellを実行したのですが変わりませんね。何故ですか?
%opts = spreadsheetImportOptions % スプレッドシートのインポート オプション オブジェクト(1変数)のデフォルト値
opts = detectImportOptions('eighty.xls') % ファイルの内容に基づくインポート オプション
opts = setvartype(opts,{'Var1'},'int8') % 'Var1'の"VariableTypes"を'double'から'int8'に変更
format long; readcell('eighty.xls',opts)
format short; readcell('eighty.xls',opts)
format shortG; readcell('eighty.xls',opts)
Hiroki Konno
2021-9-30
移动:Atsushi Ueno
2022-8-17
Hiroki Konno
2021-10-4
移动:Atsushi Ueno
2022-8-17
Hiroki Konno
2021-10-5
移动:Atsushi Ueno
2022-8-17
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 スプレッドシート 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
