8.78. round 四捨五入

  • 書式1: round(num,基数)

\(num\) を四捨五入によりまるめる。 この時、基数の整数倍の値集合のうち最も近い値にまるめられる。 例えば、round(3.82,0.5)の場合、0.5とびに目盛がうたれた数直線上で、 3.82に最も近い目盛点、すなわち4.0が基数0.5における四捨五入点となる。 基数を省略すると1.0がデフォルト値として用いられる。 これは小数点以下1桁目を四捨五入して整数値にまるめることに等しい。

利用例

importと入力データ(CSV)の準備

 1import nysol.mcmd as nm
 2
 3with open('dat1.csv','w') as f:
 4  f.write(
 5'''id,val
 61,3.28
 72,3.82
 83,
 94,-0.6
10''')
11
12with open('dat2.csv','w') as f:
13  f.write(
14'''id,val
151,1341.28
162,188
173,1.235E+3
184,-1.235E+3
19''')

基本例

小数点以下一桁目を四捨五入する。

1nm.mcal(c='round(${val})', a='rsl', i="dat1.csv", o="rsl1.csv").run()
2### rsl1.csv の内容
3# id,val,rsl
4# 1,3.28,3
5# 2,3.82,4
6# 3,,
7# 4,-0.6,-1

基本例

小数点以下二桁目を四捨五入する。

1nm.mcal(c='round(${val},0.1)', a='rsl', i="dat1.csv", o="rsl2.csv").run()
2### rsl2.csv の内容
3# id,val,rsl
4# 1,3.28,3.3
5# 2,3.82,3.8
6# 3,,
7# 4,-0.6,-0.6

基数0.5の例

0.5を基数として四捨五入する。

1nm.mcal(c='round(${val},0.5)', a='rsl', i="dat1.csv", o="rsl3.csv").run()
2### rsl3.csv の内容
3# id,val,rsl
4# 1,3.28,3.5
5# 2,3.82,4
6# 3,,
7# 4,-0.6,-0.5

基数10の例

一桁目を四捨五入する。

1nm.mcal(c='round(${val},10)', a='rsl', i="dat2.csv", o="rsl4.csv").run()
2### rsl4.csv の内容
3# id,val,rsl
4# 1,1341.28,1340
5# 2,188,190
6# 3,1.235E+3,1240
7# 4,-1.235E+3,-1230