2017-09-18 15 views
1

処理のためにbigintデータにアクセスする必要があります。だから私はそれを文字に変換して処理しようとしています。しかし、私はいくつかのbigint番号が出力テーブルに表示されていないことに気づいた。私は、問題を複製している、下記のサンプルプログラムを試してみました。SAS - bigintをcharに変換する関数をputして不正なouptutを生成する

data m; 
x=put (57259186099807233,20.); 
run; 

proc print data =m; 
quit; 

なぜ「57259186099807232」という出力が得られますか?

ありがとうございます。 NV

+2

数値として読み込んだら正しく読み込まれません。最初に文字として読み込むためにプロセスを変更する必要があります。 – Reeza

答えて

3

は「安全」(Windowsシステム上)SASに保存されている例の値よりも小さい9,007,199,254,740,992であることができhttp://support.sas.com/documentation/...

最大の整数値を参照してください。

大きな値を指定すると、必然的に精度が低下します。あなたの例が非常によく説明している事実。

関連する問題