計算フィールドで取得できる値

計算フィールドでは小数点以下の表示桁数を指定できます。

これを指定した計算フィールドの値を取得すると指定した桁+1桁の値が取得されます。

桁数はアプリの設定の、高度な設定で小数部の桁数を6にしていることが原因だと思います。

しかし、この桁数設定をむやみに編集はしたくないです。

この計算フィールドの値を使ってさらに別の計算フィールドで計算したいのですがこのせいで求めた結果が得られません。

なにか解決する方法はないでしょうか?

例)

表示されている値 : 1.234

取得される値 : 1.2345

 

 

tanakaさん、こんにちは。

計算フィールドや数値フィールドの「表示桁数」は、ほんとに表示だけなので、

実際に保持されているデータが丸められるわけではありません。

一方、高度な設定での少数部桁数は、レコードを保存したときにデータがその桁数で丸められます。

高度な設定で設定している桁数以外の丸めに関しては、標準機能ではできないため、

JavaScriptカスタマイズで計算式+数値の丸めを実装することになると思います。

 

数値フィールドを設定して、そこにJavaScriptで「計算結果を丸めたもの」で更新する 等。

 

補足として、

文字列(1行)フィールドに限定されますが、自動計算のYEN()関数を使って、数値を丸める方法もありますが、結果が文字列になってしまうため、後続の計算式での利用ができなくなります。

やはりですか。

お答えいただきありがとうございます。

おとなしくJSで実装することにします。

ですね。

ROUND関数の実装を期待したいところです。

tanakaさん

無理やり標準機能でやるとこんな感じでしょうか?

例で書かれている、切り捨てには対応していませんが、

桁数固定のデータにしか通用しませんが、下の図のように2段階で計算フィールドを使っています。

  1. 高度な設定での丸めが効くところまで10^Nで割っています
  2. (ここで高度な設定での丸めが行われる)
  3. 再度 10^Nを掛けて戻します