1

Excel 2007 ファイル (xlsx) を Excel の外部から読み込もうとしていますが、説明できない矛盾が見つかりました。

セルに 19.99 の値を入力し、基になる Xml ドキュメントを見ると、実際には 19.989999999999998 として格納されています。これはこれを行う唯一の値ではありませんが、妥当な例です。シートに書式は適用されません。この例では、新しいワークブックを開き、A1 に 19.99 と入力してファイルを保存します。

この簡単な例をオープン オフィスと Google ドキュメントの両方で開こうとしましたが、ドキュメントが読み込まれると 19.99 と表示されます。

私の質問は、他のシステムで使用するために、この値を 19.989999999999998 から 19.99 にいつ変換するかをどのように決定すればよいかということです。

4

1 に答える 1

2

入力した 19.99 と格納された 19.989999999999998 の間の変動は、浮動小数点の変動です...通常、浮動小数点数のバイナリ表現 (Excel によって内部的に使用される) と表示に使用される 10 進数 (およびxlsx ファイル)。

セルに書式を明示的に割り当てていない場合でも、Excel は "@" または "General" の既定の書式設定を適用します。これは通常、(数値の場合) 2dp で表示され、必要に応じて科学計算を適用します。そのセルの数値の書式設定を確認すると (MS Excel フロントエンドを使用するか、xlsx ファイルを調べて)、実際にはデフォルトに設定されていることがわかります。

于 2011-05-03T06:39:43.577 に答える