小数点以下の16桁を含む数値配列があります。 Libre Office Calcスプレッドシートにコピーすると、数字は小数点以下15桁に丸められます。私はこれがdouble / realデータ型が保存できるものに対する制限の結果だと思います。
明らかに、これはフォーマットの問題ではありません。小数点以下の16桁を表示するようにセルを書式設定しましたが、実際はそうです。ただし、15番目の数字以降の数字はゼロに丸められ、追加の0のために手動で修正しようとした内容はすぐに削除されます。
解決策はありますか?たとえば、Libre Office Baseでは、データ型を実数/実数から10進数に変更できますか?
答え1
答え2
小人」デジタル'を使用して、LibreOffice CalcまたはMicrosoft Excelの代わりにより多くの数字を表示できます。また、Calc *.odsまたはExcel *.xls(x)ファイルを処理する機能もあります。 :-)
正確な桁数だけでなく、精度はまだ使用されているIEEEデータ型と標準の「二重精度」バージョンは、ほとんどの範囲で有効数字16文字に制限されています。たった15個![ 0.5 .. 1 ), [ 8 .. 10 ], [ 64 .. 100) ... のような「10 の二乗範囲境界」の下のバイナリ範囲でデータをこの範囲外に保持できる場合に完了しました。
そうでない場合は、ほとんど使用されていない「long double」バージョンが役に立ちます。ほとんどの範囲で18および19の信号を安定して保存できます。絶対値が1E-4932から1E + 4932の間にある限り、小数点数は許可されます。
長いバージョンの精度制限はすべての範囲で到達していないように見えるため、1E-2と2^69(590295810358705651700)の間に19個の安全な数字がある可能性があります。制作に入る前に慎重に検討してみてください!
CalcとExcelは追加の精度を処理できません。ファイルと一緒に保存すると破棄されます。
[2022-05-29 編集] 忘れられた情報を追加する:gnumericにはオペレーティングシステムとしてLinuxが必要で、Win用の古いバージョンがあります。 2017年12月?利用可能ですが、私が知っている限り「長い」ではありません。
@G-Manのリクエストに…:私は - 試してみました - 回答を短くするためにインターネット検索をすることで接続され、そこでgnumeric: http://www.gnumeric.org/
閲覧すると開発の長いバージョンも見つけることができます。私も同じことをしました!小数点POVでは、どのバージョンと範囲が何桁であるかを明確に区別して説明します。より明確にする:スプレッドシートのセル値は、2進表現/10進値の表現/近似と見なすことができます。少数の視点- これにより、binデータ型のグリッド/粒度/精度capaの後の数字が間違っています。 - 私はそれを変換アーティファクトと呼ぶか、bin値自体と呼びます。 -バイナリの観点、gnumericで表されるすべての数値は正確ですが、入力と出力の精度は利用可能なビットに保持できる精度によって制限されます。
2つのPOVの違いの例:IEEE doubleの17番目の数値の計算。 「最も近い」ビン値は正しいですが、IMHOは17ビットの値がすべてdoubleで表示されないため、10進数では正しくありません。 [ /編集する]