.Net文字列フォーマッタを使用して、少なくとも1つの有効数字を表示するための最小精度桁数を見つけるアルゴリズムを作成しようとしています。
例えば。
Value Precision wanted:
----- -----------------
10 0
1 0
0.1 1
0.99 1
0.01 2
0.009 3
(それ以上の数字は気にしないでください。最初の数字だけなので、0.99の精度は1だけです。)
私が思いつくことができる最高のものは次のとおりです。
int precision = (int)Math.Abs(Math.Min(0, Math.Floor(Math.Log10(value))));
これは問題なく機能しますが、もっとエレガントな解決策があると思わずにはいられません。数学の達人が私を助けてくれますか?