2017-12-20 7 views
0

私は、.NETプロジェクトでhumanizr.netを使用して日付をフォーマットしています。ヒューマナイザーで大量の短い形式

今、私はショートへの大規模な数値をフォーマットしたい - このように読めるもの: - > 1.2K 50323 - 1234だけカウントのようなFacebookのような> 50.3K ...

を行う方法がありますそれはヒューマナイザーを使用してですか?

+0

'.ToMetric()'を試したことがありますか? –

+0

https://github.com/Humanizr/Humanizer#metric-numeralsはかなり近似しています(必然的に@Peter Bの回答 – tolanj

+0

のリピートですが、ToMetricは1 mio未満で整数を使用している限り動作しますねもしあれば、特定のソリューションのように! – Godsayah

答えて

0

そのようなものを試してみてください。

public static string FormatLargerNumbers(double number) 
    { 
     string[] prefix = { string.Empty, "K", "M" }; 

     var absnum = Math.Abs(number); 

     int add; 
     if (absnum < 1) 
     { 
      add = (int)Math.Floor(Math.Floor(Math.Log10(absnum))/3); 
     } 
     else 
     { 
      add = (int)(Math.Floor(Math.Log10(absnum))/3); 
     } 

     var shortNumber = number/Math.Pow(10, add * 3); 

     return string.Format("{0}{1}",shortNumber.ToString("0.#"), prefix[add]); 
    } 

    string formatted = FormatLargerNumbers(50323); 
    Output : 50,3K 
関連する問題