2016-10-05 11 views
1

私はフロートを持っています。私はそれをnの最も近い倍数に丸めたいと思います。ここでnは任意のfloatです。これどうやってするの?floatをnの最も近い倍数に丸めるにはどうすればよいですか?

私の特定の例では、浮動小数点数は0.96fの倍数にする必要がありますが、0.96fは変更される可能性があります。

例えば、私が1.0fを持っていれば、私は0.96fを得たいと思っています。私は1.75fを持っている場合、私は1.92fを取得したい。私は負の数を考慮する必要はありませんが、そうであれば良いでしょう。

私は丸めに関する他の質問をチェックしたが、彼らはあなたがしている数2.(0.25、0.5、1、2、など)

+0

私たちはあなたの要件を明確にしていますか? – user1666620

+2

一般的には、 'ROUND(x/n)* n' –

+0

@DStanleyがうまく動作します。ありがとう! – Evorlor

答えて

2

デバイドご入力(n)の力ですべてです(x)に丸め、丸めて、それにxを掛けます。これがあなたの結果です!

double RoundToNearest(double n, double x) { 
    return round(n/x) * x; 
} 
関連する問題