次のような人間に優しい方法で、C#で非常に小さな数字を出力したいと思います。
30µ
3E-5
またはのため456.789n
に0.000000456789
。
私は C の BSD のHumanize_number () 関数を知っていますが、ビット整数のみと互換性があり、float と double とは互換性がありません。それらをサポートするC#に相当するものはありますか?
また、数値を表示するときは、次のように一定の精度を維持する必要があります。
0.003596
として表示されるべきではあり3.596µ
ません3.6µ
(またはもっと悪い場合は4µ
)。
ここで考えられる答え: Formatting Large Numbers with .NET but adapted for negative log10 は、コンマの後の数字を 1 桁に切り捨てることです。私の意見では、それは完全にはほど遠いです。
私が物事を提示したい方法の例:
3000 3K
3300 3.3K
3333 3.333K
30000 30k
300000 300k
3000000 3M
3000003 3.000003M // or 3M if I specify "4 digits precision"
0.253 253m
0.0253 25.3m
0.00253 2.53m
-0.253003 -253.003m
SOで関連する回答を見つけるために質問を作成できなかったので、質問がすでに回答されている場合は、すぐに発砲してください!