您可能确实知道,从问题页面/帖子中查看时,Stack Exchange上不同的信誉级别的格式是不同的。有所有的rep格式规则:
- 如果用户有1到999(一到三位数)的代表,则保留原样。
- 如果用户有1000至9999个代表(四位数),则它将逗号作为分隔符:
9,999
如果用户具有10000至99999 rep(五位数),则将其缩短并四舍五入。即,16741 rep的格式为
16.7k
,请注意点分隔符与较低rep(上一个点)的逗号不同。已经产生了16750
16.8k
(因为这似乎是固定的)例如,16941结果为
16.9k
,16950向上舍入为17k
,以及17014 向上舍入。99941 舍入为
99.9k
,99950100k
舍入为(这实际上是我对SE上的rep- round所讨厌的,因为100,000是一个里程碑,而99950距离不远)。
如果用户的代表为100000至999999,则按以下方式四舍五入:
100100向下
100k
舍入到100500向上舍入到101k
。事实是,四舍五入已经完成,但是小数部分被去掉了(与四位数字表示不同)。100450会四舍五入到150,四舍五入到
100k
450到500。100499也不会-仍然是100k
。279843舍入为
280k
,和399999舍入为400k
。
作为输入,您将获得原始信誉,并将其输出为格式化格式。
您可以认为输入不会收到任何无效数字/非数字或带有前导零的数字,即0001234
。
由于Jon Skeet似乎不会很快达到1,000,000,因此您的代码必须尽可能短,并且您不需要处理超过100万的代表(即,对于999500及更高版本,没有特殊情况)。
.
小数点并带有后缀k
;请注意,如果第三个有效数字位于0
小数点右边,则该值仅显示为2个有效数字。 “然后可以将特定的临界值移动到单个测试列表中案例末尾的案例,这对于将副本粘贴到测试框架中更为方便。