我想以人性化的方式在C#中打印我的小数字,例如:
30µfor 3E-5或456.789nfor 0.000000456789.
我知道C中的BSD 的Humanize_number()函数,但只与bit int兼容,而不是浮点数和双精度数.在C#中有相同的支持吗?
此外,它在显示数字时应保持一定的精度,例如:
0.003596应显示为3.596µ,而不是3.6µ(或更糟4µ).
这里可能的答案是:使用.NET格式化大数字但适用于负数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
Run Code Online (Sandbox Code Playgroud)
我无法在SO中提出我的问题以找到相关的答案,所以如果问题已经得到解答,请开火!