浮動小数点数を使用して、ユーザー定義の「ビン」サイズに応じて切り捨てたいと思います。したがって、ビンのサイズはユーザーの好みに応じて変化します。たとえば、ビンのサイズは、0.5、0.1、1、さらには 0.01 の場合があります。
私の目的は、浮動小数点数がどのビンに入るかを判断することです。例として:
0.1 ビン サイズ:
2348.285 will fall into a 2348.2 bin
238.592 will fall into a 238.5 bin
0.5 ビン サイズ:
2348.285 will fall into a 2348.0 bin
238.592 will fall into a 238.5 bin
0.01 ビン サイズ:
2348.285 will fall into a 2348.28 bin
238.592 will fall into a 238.59 bin
1 ビン サイズ:
2348.285 will fall into a 2348 bin
238.592 will fall into a 238 bin
たとえば、perl での floor()、sprintf()、および substr() メソッドの丸めを調べましたが、それらのどれも私がやりたいことをまったく望んでいません。欲しいです。ユーザー定義のビン サイズを指定して、浮動小数点数が切り捨てられるフロア値を動的に変更する適切なコードはどれですか?