Делать большие и малые числа удобочитаемыми [дубликаты]

На этот вопрос уже есть ответ:

Форматирование больших чисел с помощью .NET 5 ответов

Я хотел бы напечатать свои очень маленькие цифры в C # удобным для человека способом, например:

30µ для3E-5 или456.789n для0.000000456789.

Я знаю о Humanize_numberункция @ () из BSD в C, но совместима только с битами, не с плавающей запятой и с двойными Есть ли в C # эквивалент, который их поддерживает?

Кроме того, он должен сохранять определенную точность при отображении чисел, например:

0.003596 должен отображаться как3.596µ, не3.6µ (или хуже,).

Возможный ответ здесь: Форматирование больших чисел с помощью .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

Я не смог сформулировать свой вопрос, чтобы найти соответствующие ответы в SO, поэтому, если на вопрос уже был дан ответ, ответьте!

Ответы на вопрос(4)

Ваш ответ на вопрос