如何用 C# 格式化 SO 之类的数字?
How to format numbers like SO with C#?
10
, 500
, 5k
, 42k
, ...
10
, 500
, 5k
, 42k
, ...
像这样: (EDIT: Tested)
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");
}
例子:
1
23
136
6,968
23.1K
133K
请注意,这会给数字 >= 108 提供奇怪的值.
例如,12345678
变为 12.3KK
.
Note that this will give strange values for numbers >= 108.
For example, 12345678
becomes 12.3KK
.
这篇关于格式数字,如堆栈溢出(以 K 后缀四舍五入到千位)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!