スポンサーリンク

2007-11-17

Tips106 - SQL文 指定した小数桁で四捨五入を行う FIX関数

dim SQL as String
dim rs As Recordset
'小数点以下1桁で四捨五入
SQL = "SELECT FIX(数値フィールド+0.5) FROM テーブル名"
'小数点以下2桁で四捨五入
SQL = "SELECT FIX((数値フィールド+0.05)*10)/10 FROM テーブル名"
'小数点以下3桁で四捨五入
SQL = "SELECT FIX((数値フィールド+0.005)*100)/100 FROM テーブル名"
Set rs = CurrentDb.OpenRecordset(SQL)

小数点以下2桁の場合
1)0.05を足す
2)10倍する
3)FIX関数で整数部を取り出す
4)10で割ります

小数点以下1桁の使用結果:
1.2 は 1
2.8 は 3
-5.78 は -5
10.4195 は 10
20.981 は 21

小数点以下2桁の使用結果:
1.2 は 1.2
2.8 は 2.8
-5.78 は -5.7
10.4195 は 10.4
20.981 は 21

小数点以下3桁の使用結果:
1.2 は 1.2
2.8 は 2.8
-5.78 は -5.77
10.4195 は 10.42
20.981 は 20.98