Loading
ただいま大変多くのお問い合わせをいただいており、ご連絡までにお時間を頂戴しております続きを読む

「小数点の位置」で設定された桁数を超えて入力すると自動的に四捨五入される

公開日: Dec 16, 2025
説明

数値、通貨、パーセント項目において、項目定義の「小数点の位置」で設定した桁数を超える値を入力すると、標準動作では自動的に四捨五入されて保存されます。この記事では、入力値が勝手に変更されるのを防ぐために、入力規則の MOD 関数を使用して、指定した桁数を超える入力があった場合にエラーを表示させる設定方法について説明します。

解決策

入力規則の数式は、「小数点を右にずらして(乗算して)、それでもまだ小数点が残っている(1 で割った余りが 0 ではない)ならエラー」というロジックを使用します

 

【考え方の例】小数点第 2 位までに制限したい場合

判定のために、数値を 100 倍して小数点を右に 2 つ移動させます。

  1. 保存できる場合
    入力値: 123.45
    右に 2 つずらす(100倍): 12345
    小数点は残っていないため、保存される。

  2. エラーになる場合
    入力値: 123.456
    右に 2 つずらす(100倍): 12345.6
    「.6」という端数が残っているため、入力規則によりエラーとなる。

実際には以下のような数式を設定します。

  1. 数値・通貨項目の場合
    制限したい桁数に合わせて乗算するゼロの数を設定します。
    (例)小数点以下「2 桁」までに制限したい場合

     MOD( FieldName__c * 100, 1 ) <> 0

    ※ FieldName__c は数値・通貨項目の API 参照名に置き換えてください。
    小数点第 2 位までチェックしたいため、100(ゼロが 2 つ)を掛けて小数点を移動させています。
  2. パーセント項目の場合
    パーセント項目は、データベース上では 1/100 の値(例:10% → 0.1)で保存されています。そのため、画面上の桁数に加えて、パーセント換算分の桁数を考慮する必要があります。
    (例)表示上の小数点以下「2 桁」までに制限したい場合

    MOD( FieldName__c * 10000, 1 ) <> 0

    ※ FieldName__c はパーセント項目の API 参照名に置き換えてください。
    画面で見えている「小数点 2 桁」に加え、パーセントの仕様による「見えない 2 桁(÷100 分)」を合わせて 4 桁分ずらす必要があるため、そのため、10000(ゼロが 4 つ)を掛けています。
ナレッジ記事番号

005132292

 
読み込み中
Salesforce Help | Article