2016-04-03 7 views
0

round()のR丸め数字はどのように機能しますか? 例:最後の10進数が5のときのRの丸め方

round(0.345, 2) 
# [1] 0.34 

私は0.35を期待します。

round(0.3455, 3) 
# [1] 0.346 

これは予想どおりです。

+3

これは「?round」:「5を四捨五入するために、IEC 60559規格が使用されることが期待されていることに注意してください。従って、丸(0.5)は0であり、丸(-1.5)は-2である。 – rawr

+0

も参照されたい。 http://stackoverflow.com/questions/34845236/round-but-5-should-be-floored –

+0

@rawr、回答として投稿(私は正確な詐欺は表示されません)? –

答えて

0

あなたが期待しているものを得るために私が以前に使ってきたハックを1つ... 10進数の精度が5であれば、小数点以下を四捨五入して結果にas.integer()を追加し、0.001を掛けます。単純な関数がこの擬似コードの後に​​続きます。

希望する小数点以下桁数の入力を使用して独自の関数を作成します。入力値に10 ^(10進数の入力)を掛けます。この値に対してas.integer()を実行します。ここで10 ^( - #小数の入力)を掛けます。この値を返します。

関連する問題