小数点第3位を切り捨てする
小数点第3位を切り捨てするサンプルをご紹介します。
サンプルについて
本サンプルのソースコードや、カスタマイズ方法等の技術的なお問合せは承っておりません。
利用するイベント
申請入力画面イベント(パーツ値変更イベント)
サンプルフォーム
サンプルで利用するフォームには、以下のパーツを配置しています。
パーツID | パーツタイプ | 補足 |
fidRadio | ラジオボタン | |
fidDecimal1 | テキスト(一行)パーツ | 数値型 |
fidDecimal2 | テキスト(一行)パーツ | 数値型 |
fidCalculate | テキスト(一行)パーツ | 数値型 |
カスタマイズコード
カスタマイズコード(function () { 'use strict';
const changeEventNames = [ 'request.input.fidRadio.change', 'request.input.fidDecimal1.change', 'request.input.fidDecimal2.change' ];
collaboflow.events.on(changeEventNames, function (changeEvent) { const fidRadio = changeEvent.parts['fidRadio'].value; let fidDecimal1 = changeEvent.parts['fidDecimal1'].value; let fidDecimal2 = changeEvent.parts['fidDecimal2'].value;
if (fidDecimal1 === '' || fidDecimal2 === '') { return; }
fidDecimal1 = Number(changeEvent.parts['fidDecimal1'].value); fidDecimal2 = Number(changeEvent.parts['fidDecimal2'].value);
let calculatedValue = 0;
switch (fidRadio) { case '足し算': calculatedValue = fidDecimal1 + fidDecimal2; break; case '引き算': calculatedValue = fidDecimal1 - fidDecimal2; break; case '掛け算': calculatedValue = fidDecimal1 * fidDecimal2; break; case '割り算': if (fidDecimal2 === 0) { changeEvent.parts['fidCalculate'].value = 0; return; }
calculatedValue = fidDecimal1 / fidDecimal2; break; default: window.alert('計算条件を選択してください'); break; }
const decimalPoint = 2; let number = 1;
// 計算結果が負の数だった場合の切り捨て処理 if (calculatedValue < 0) { number = -1; calculatedValue = Math.abs(calculatedValue); }
// 小数点第3位を切り捨てする const squareValue = Math.pow(10, decimalPoint); const truncateDecimalPoint = Math.floor(calculatedValue * squareValue) / squareValue;
const result = truncateDecimalPoint * number; changeEvent.parts['fidCalculate'].value = result; })})();動作の確認手順
1. サンプルのカスタマイズコードをjsファイルに保存します。
2. アプリ設定 > フォーム設定から新規に通常フォームを作成します。
3. サンプルフォームに、先で記載されている必要な項目を配置します。
4. サンプルフォームを再度表示し、カスタマイズのタブを表示します。
5. 保存したファイルをアップロードします。
6. アプリ設定 > 経路設定から新規に経路を作成します。
7. 新規文書から作成した経路名をクリックします。
8. 申請画面が表示されます。
動作イメージ
