?round(1.49) なら当然 1 を返し、また ?round(1.51) なら当然 2 を返すが、四捨五入のようで、四捨五入でないところが憎い。
小数部分がキッカリ 0.5 の場合(すなわち 2 倍すると整数になる場合)は最も近い偶数に丸められる。lisp の仕様だそうです。(%i1) ?round(1.5); (%o1) 2 (%i2) ?round(2.5); (%o2) 2
なお、? で始まる関数は lisp の関数で、他にも ?ceiling や ?floor などがあります。
?round(1.49) なら当然 1 を返し、また ?round(1.51) なら当然 2 を返すが、四捨五入のようで、四捨五入でないところが憎い。
小数部分がキッカリ 0.5 の場合(すなわち 2 倍すると整数になる場合)は最も近い偶数に丸められる。lisp の仕様だそうです。(%i1) ?round(1.5); (%o1) 2 (%i2) ?round(2.5); (%o2) 2
なお、? で始まる関数は lisp の関数で、他にも ?ceiling や ?floor などがあります。