How to format numbers like SO with C#?
10
, 500
, 5k
, 42k
, ...
Like this: (EDIT: Tested)
static string FormatNumber(int num) { if (num >= 100000) return FormatNumber(num / 1000) + "K"; if (num >= 10000) return (num / 1000D).ToString("0.#") + "K"; return num.ToString("#,0"); }
Examples:
1
23
136
6,968
23.1K
133K
Note that this will give strange values for numbers >= 108.
For example, 12345678
becomes 12.3KK
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With