みんなの投稿

2025/08/07 17:19

※プログラム開発やコーディングに関する話題は『cybozu developer network』のコミュニティへお願いいたします
マイナスを含む四則演算をkintoneの計算を行うと全く異なる値が出力される

2件のコメント (新着順)
井上望
2025/08/08 08:51

 お疲れ様です。

 記事が編集されているものと思われるためよくわかりませんが、「マイナスの四則演算で誤差が出る」というキーワードから推察すると、カスタマイズか計算フィールド(もしくはプラグイン?)でマイナスを含む小数計算か大きい桁数の計算をしているのではないかと推測します。
(kintoneの基本機能でも、計算の仕方次第では、同様の誤差が出るかもしれません。)

 いわゆる「ビット演算による丸め誤差」と呼ばれるもので、一般的には、
・欲しい小数点の位までを一旦整数にして、計算後、位を戻す。
・桁数が大きくなる時は、フィールドや変数を二つに分ける方法を検討する。
が有効だと思われます。

 厳密な数字が求められる場合、小数の計算をできるだけ避ける運用にした方が、トラブルは少ないかもしれません(kintoneの特徴というわけではなく、コンピュータ全般に当てはまります。)。

suji バッジ画像
2025/08/07 17:39

こんにちは。

計算を行うと全く異なる値 

とのことですが、電卓で叩いた値と異なるということでしょうか?
・フィールド設定の表示桁数以下の見えない部分の影響
・数値と計算の精度の設定
・式が誤っている
などが考えられます。

異なる値が出力されている画面のスクリーンショット等貼っていただけると
もう少し詳しくご回答できるかと思います。

以上です。


suguru
製造業
2025/08/07 17:48

小数点やマイナスを使うと引き算の結果が異なるものになるそうです。

suji バッジ画像
2025/08/07 17:57

測定温度、基準値は手入力したものでしょうか?
それともcsvなどを取り込んだものでしょうか?
csv取り込み等の場合、意図せず小数点以下のデータが存在する場合があります。

また、スクリーンショットにもある「小数点以下の表示桁数」は
あくまで見た目の桁数を変えるだけですので、
場合によってround関数等で整数(もしくは管理したい小数点以下桁数)に
してやる必要があります。

一度、関数でまるめ処理をやってみてください。
以上です。

次の点がわかると、回答しやすいと思います。
1.「測定温度」「基準値」フィールドの種類(数値フィールド?計算フィールド?)
2.計算を行うと全く異なる値が表示される場合の詳細画面のスクリーンショット(「測定温度」「基準値」「0より大きい時はNG」にどんな値が入っているかわかるようなもの)
3.本来、2の場合に「0より大きい時はNG」に表示されると想定している値