メインコンテンツへスキップ

FIX関数

コメント

5件のコメント

  • kitabayashi

    '10000*0.9450 = '&Str(10000*0.9450,'10.2')&'
    FIX(10000*0.9450,10,2) = '&Str(Fix(10000*0.9450,10,2),'10.2')

    上記の式を、エラーコマンドで表示すると、どちらも9450.00になりました。

    川島さんの環境では、Fix(10000*0.9450,10,2)の値が9449.99になる という事で合っていますか。

  • AIS川島

    アドバンス情報の川島です。

    そうです。私の環境だと9449.99になります。

    ただ色々とサンプルを作成すると問題なく、9450.0000になります。 該当のプログラムだけのようです。

     

  • AIS川島

    アドバンス情報の川島です。

    該当のプログラムを更に調査したところ、

     10000*0.9450 の 0.9450は前画面よりのパラメータです。これを別の変数を作成してそこにコピーすると

     問題なく計算できました。(モデルも同じものを使用しました。)

     

     

     

  • AIS川島

    アドバンス情報の川島です。 ご回答ありがとうございます。

    ただこのパラメータは印刷物に表示していますのでその内容自体はそのまま表示されていました。

     

     どうも、小数点の3桁目が0のときおかしくなるようです。 

      9450.1204 とか

    変数の何かが壊れていたのでしょうか? 何か確認することはできますでしょうか。

     

  • AIS川島

    アドバンス情報の川島です。

    色々確認してみました、別の方よりFIX関数内で計算を同時に行うとおかしくなるときがあると聞きましたので別変数を用意してその変数に計算のみを行いその後にその内容だけでFIXを行うと上手くいきました。 (そんなものですか?)

     皆さんもこのような経験ありますでしょうか?

     取り敢えず解決いたしました。 ご回答ありがとうございました。

     

サインインしてコメントを残してください。