小数点以下を指定桁で切り上げる

PowerBuilder Tips

方法

PowerBuilder には四捨五入の Round 関数がありますが、切り上げの関数はありません。 小数点以下を指定した桁で切り上げるには、Ceiling 関数を利用する方法があります。

Ceiling 関数は、指定された値以上の整数の中から最小の整数値を返します。言い換えれば、小数点以下の値を整数値に切り上げることになります。 これを利用し、切り上げたい桁が小数第 1 位になるように小数点を移動させ、Ceiling 関数で小数部を切り上げて整数にしてから小数点の位置を戻すという手順で小数部の切り上げを行うことができます。

たとえば、小数 54.345 を小数点以下 2 桁までに切り上げるためには、まず値に 100 を掛けて 5434.5 にします。 この値に対し、Ceiling 関数を使用して 5435 に切り上げ、その後で 100 で割り、54.35 にします。

この例では小数第 2 位未満を切り上げるため 100 という値で乗算、除算を行っていますが、任意の桁で切り上げるには「10 の (桁数) 乗」の値を使用します。 これを踏まえて Ceiling 関数で切り上げを行う式は下記のようになります。

Ceiling( (値) * 10^(桁数) ) / 10^(桁数)

【例】

decimal ldc_org
integer li_digits
decimal ldc_result

ldc_org = 54.345
li_digits = 2  //小数第 2 位未満を切り上げ

// 結果として、ldc_result に切り上げられた 54.35 が格納されます
ldc_result = Ceiling( ldc_org * 10 ^ li_digits ) / 10 ^ li_digits

 

Tips情報

プロダクト :PowerBuilder

バージョン :2017R3

Tips 一覧を見る
PowerBuilder 2019 R3 日本語版リリース
PowerBuilder マイグレーション