【Bubble】Bubble開発で五捨五超入を実装する方法
こんにちは!
EPICs株式会社です。
今回は、Bubble開発で小数点以下を「五捨五超入」する実装方法を解説します!
五捨五超入とは?
「五捨五超入」は、日本の通貨処理などでよく用いられる丸め方法で、「50銭以下は切り捨て、50銭を超えたら切り上げ」となるルールです。
「五捨五超入」は四捨五入に似ていますが、「5」の場合に切り捨てと切り上げを均等に行う方法です。
例:
- 1.4 → 1(切り捨て)
- 1.5 → 1(切り捨て)
- 2.6 → 3(切り上げ)
- 3.5 → 3(切り捨て)
- 4.51 → 5(切り上げ)
- 5.49 → 5(切り捨て)
目次
実装手順
Bubbleの標準機能には「五捨五超入」のオプションはありませんが、modulo 関数や :floor(切り捨て) 、 :ceiling(切り上げ) を使うことで実装できます。
modulo関数とは?
modulo(剰余)関数は、ある数値を指定した値で割ったときの余りを求める関数です。
例えば:
- 7 modulo 3 → 1(7 ÷ 3 の余り)
- 10.5 modulo 1 → 0.5(10.5 ÷ 1 の余り)
この性質を利用すると、小数点以下の部分を取得できるため、「五捨五超入」の判定に使えます。
手順 1: 小数部分を取得する
- Bubbleの modulo 関数 を使用して、小数点以下の値を取得します。
- 数値 modulo 1 を計算すると、小数部分のみが取得できます。
例:
- 10.5 modulo 1 → 0.5
- 7.49 modulo 1 → 0.49
手順 2: 条件分岐を設定する
取得した小数部分に応じて、:floor または :ceiling を適用します。
条件の設定:
- 小数部分が 0.5 より大きい場合 → :ceiling(切り上げ)
- 小数部分が 0.5 以下の場合 → :floor(切り捨て)
Bubbleのワークフロー設定:
- When 数値 modulo 1 > 0.5 → 数値:ceiling(切り上げ)
- When 数値 modulo 1 <= 0.5 → 数値:floor(切り捨て)
この設定により、「五捨五超入」のルール通りに数値が丸められます。
Bubbleには「五捨五超入」の標準機能はありませんが、modulo 関数を利用し、小数部分を判定して :floor や :ceiling を適用することで、適切に実装することが可能です。
この方法を活用することで、金額処理などで必要な正確な数値計算をBubble上で実現できます。
-
facebookで
シェアする -
Xで
シェアする -
LINEで
送る -
URLをコピーしました!