小数点第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;
})
})();
動作の確認手順
- サンプルのカスタマイズコードをjsファイルに保存します。
- アプリ設定 > フォーム設定から新規に通常フォームを作成します。
- サンプルフォームに、先で記載されている必要な項目を配置します。
- サンプルフォームを再度表示し、カスタマイズのタブを表示します。
- 保存したファイルをアップロードします。
- アプリ設定 > 経路設定から新規に経路を作成します。
- 新規文書から作成した経路名をクリックします。
- 申請画面が表示されます。
コメント
0件のコメント
記事コメントは受け付けていません。