各行に1つずつ、この形式のS9(6)V9(2)
という固定小数点数をファイルに格納していますが、実際に読み取ったときに数値を入力しようとしているときにエラーnon numeric
が発生していますオペレーション。さらに、プログラムで表示しようとすると、ファイルに567123.45という数字が+567123.04という変数に保存されます。たとえば、ファイルの数値123.45は、変数+123.45.00に保存され、数値演算時には次のエラー'WS-VALUE' not numeric: '123.45 0'
が発生します。何故ですか? 私はOpenCobolIDE 4.7.4をWindows用に使用しています。COBOLでファイルから浮動小数点数を読み取る
EDIT: ファイルは改行で区切られ、次の形式のレコードを持っている(レコードの後READ
操作記録で読み取り):
01 WS-OPERATION.
05 WS-ID PIC A(2).
05 WS-CLIENT PIC 9(5).
05 WS-COUNTRY PIC A(4).
05 WS-VALUE PIC S9(6)V9(2).
最初: 'USAGE FLOAT ... 'だけが浮動小数点項目であるため、これらは浮動小数点項目ではありません。これらは実際には固定小数点項目です。 質問: どのコンパイラを使用しますか?私はGnuCOBOL 1.1の標準出荷を前提としています - コンパイラのパスを変更した場合、この情報はメニューから見つけられますか? - > About OpenCobolIDEについて。 ファイルをどのように読み込みますか?ファイルとそのレコードの説明はどのように見えますか? 'DISPLAY'文はどのように見えますか? –
はい、バージョン1.1.0を使用しています。私は、ファイル構造についての投稿を編集しました。 – Quentin
「浮動小数点」の部分を「固定小数点」に編集することを強くお勧めします。 –