readcell関数で取得するExcelのデータ精度に関して
Ältere Kommentare anzeigen
Excelのセルに「79.999999998」と反映し、値が「80」のように丸められたとします。

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

readcell関数で、Excel内のセル値を取得する際に、丸められた値ではなく素の精度の値(今回の場合「79.999999998」)を取得できるようにするオプションはございますか?
■追記
readcell関数ではR2021aまでは、Excelデータの素の精度を取得することが出来ない。
その為、xlsreadを用いたり、readmatrixやreadtableなど、他の読込関数で読み込むほか回避する。
R2021bからは改善
6 Kommentare
Hernia Baby
am 30 Sep. 2021
確認ですが、これはどうしてもreadcellを使わなければいけないのでしょうか?
Hiroki Konno
am 30 Sep. 2021
Atsushi Ueno
am 30 Sep. 2021
Verschoben: Atsushi Ueno
am 17 Aug. 2022
上記に従い、ファイルの内容に基づくインポート オプションを得て、"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
am 30 Sep. 2021
Verschoben: Atsushi Ueno
am 17 Aug. 2022
Hiroki Konno
am 4 Okt. 2021
Verschoben: Atsushi Ueno
am 17 Aug. 2022
Hiroki Konno
am 5 Okt. 2021
Verschoben: Atsushi Ueno
am 17 Aug. 2022
Antworten (0)
Kategorien
Mehr zu スプレッドシート finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
