Muhtemelen Stack Exchange'deki farklı itibar seviyelerinin, sorular sayfasından / gönderiden bakıldığında farklı biçimlendirildiğini biliyorsunuzdur. Tüm yeniden biçimlendirme kuralları vardır:
- bir kullanıcının 1 ila 999 (bir ila üç basamaklı) temsilcisi varsa, olduğu gibi kalır.
- bir kullanıcının 1000 ila 9999 rep (dört basamaklı) değeri varsa, virgül ayırıcı olarak alınır:
9,999
Bir kullanıcının 10000 ila 99999 rep (beş basamaklı) numarası varsa, kısaltılır ve yuvarlanır. Yani, 16741 rep,
16.7k
alt rep için virgülün aksine (önceki nokta) nokta ayırıcıya dikkat edin.16750 zaten sonuçlanacak
16.8k
(bu düzeltilmiş gibi görünüyor )16941
16.9k
, 17014'e17k
kadar olduğu gibi 16950 mermi ile sonuçlanır .99941 mermi
99.9k
, 99950 mermi100k
(bu , SE'deki yeniden yuvarlamadan gerçekten nefret ettiğim bir şeydir, çünkü 100.000 böyle bir kilometre taşıdır ve 99950 hiçbir yere yakın değildir).
Bir kullanıcının 100000 ila 999999 temsilcisi varsa, bu şekilde yuvarlanır:
100100 tur
100k
, 100500 tur101k
. Şey, yuvarlama yapılır, ancak ondalık kısım soyulur (dört basamaklı rep'den farklı olarak).100450 aşağı doğru yuvarlar
100k
, 450'den 500'e yuvarlanmak için bir adım olmaz100k
.279843 en fazla
280k
ve 399999 en fazla400k
.
Girdi olarak, size ham itibar verilir ve biçimlendirilmiş olarak çıktılanır.
O girdi düşünebiliriz olmaz , sıfır dolgulu yani herhangi geçersiz numaraları / olmayan numaralar, veya sayıları almak 0001234
.
Jon Skeet yakında 1.000.000'a ulaşmıyor gibi göründüğü için, kodunuzun mümkün olduğunca kısa olması gerekir, bu temsilciyi bir milyondan fazla kullanmanız gerekmez (yani 999500 ve üstü için özel durumlar yoktur).
.
ondalık nokta için görüntülenen 3 önemli rakama yuvarlanabilir. ve sonek eklenmişse k
, üçüncü önemli rakam 0
ondalık noktasının sağındaysa ve sağındaysa , değerin sadece 2 anlamlı sayıya gösterilmesi gerekir. "Spesifik kesimler daha sonra tek bir test listesine taşınabilir. yazının sonunda, test çerçevesine kopya yapıştırmak için daha uygun olan durumlar.