ブログ

2020/05/25
【プリザンター】 第45回)桁数指定での切上げ/切捨て/四捨五入のスクリプト

プリザンターのスクリプトを使って切上げ/切捨て/四捨五入の処理

こんにちは、CCS田中です。

プリザンターでは、四則演算やサマリーを使った合計や平均などは数値計算として処理が可能ですが、切上げや切捨て、四捨五入を桁数を指定して行うなどまでは標準機能ではできません(四捨五入は標準で行えますが桁指定まではなかったと思います)。
そこで、今回これらの処理をスクリプトで行ってみたいと思います。
元々JavaScriptではMathクラスがありいくつかの関数(以下など)があるので、これらを使うことで実現が可能です。

round (四捨五入の計算)
ceil (端数切り上げの計算)
floor (端数切り捨ての計算)
max (引数の中で最大の値を返す)
min (引数の中で最小の値を返す)
random (乱数を取得)

今回、これらを使ったスクリプトを説明します。

スクリプトの内容

切上げ/切捨て/四捨五入のサンプルスクリプトは以下になります。

前提条件として、記録テーブル上に元数値を数値A、切り上げ数値を数値B、切り捨て数値を数値C、四捨五入数値を数値Dが設定されているものとします。

1.対象となるテーブルの一覧を表示
2.メニューから「管理」→「テーブルの管理」を選択
3.「スクリプト」タブを選択
4.新規作成ボタンをクリック後に、名前を指定して、下記のサンプルを記載します。
5.「追加」ボタンをクリック

記載するスクリプト


$('#Results_NumA').on('input propertychange', function () {

let NumA = $('#Results_NumA').val();

if (NumA !== "") {
let A = parseFloat(NumA.replace(/[^0-9-\.]/g, ''));

let N = 1 / 0.01; //分母を指定したい桁で指定する 小数点1桁→0.1 十の位→10
//切り上げ
let B = orgCeil(A, N)
$p.set($('#Results_NumB'), B);
//切り捨て
let C = orgFloor(A, N);
$p.set($('#Results_NumC'), C);
//四捨五入
let D = orgRound(A, N);
$p.set($('#Results_NumD'), D);
}
});

function orgRound(value, base) {
return Math.round(value * base) / base;
}

function orgCeil(value, base) {
return Math.ceil(value * base) / base;
}

function orgFloor(value, base) {
return Math.floor(value * base) / base;
}


これで設定は完了です。
それでは、一覧画面に戻り、新規ボタンをクリックしてみましょう。
元数値のところに、数値を入れると、入れたタイミングでその他の数値が変わっていることがわかると思います。
実際に運用で使われる際は必要な部分のスクリプトを切り取って使ってください。

まとめ

さて、いかがでしたか?

今回は切上げ/切捨て/四捨五入を桁数指定で処理するスクリプトについて説明しました。
当社では消費税の計算などで使っていますが、要員派遣などを行っている会社では単金の控除/超過単金などでも使えるのではないでしょうか。

導入の支援、スクリプト開発などでお困りの場合は、当社で支援もいたします。

☆☆ブログ内容への質問や追加説明をご希望の方は
【問い合わせフォーム】 こちら からお気軽にお問い合わせください☆☆

PAGE TOP