9

重複の可能性:
StackoverFlowのようなフォーマット番号(Kサフィックスで数千に丸められます)

12523.57が「12K」になり、2323542.32が「2M」になるようにC#で数値をフォーマットするにはどうすればよいですか?

正しい数字の省略形(K、Mなど)を追加して適切な数字を表示する方法がわかりませんか?

それで、

1000 = 1K  
2123.32 = 2K  
30040 = 30k  
2000000 = 2M  

これを行うための組み込みの方法がC#に​​ありますか?

4

2 に答える 2

9

これは C#/.Net の標準機能ではないと思いますが、自分でこれを行うのはそれほど難しくありません。擬似コードでは、次のようになります。

if (number>1000000)
   string = floor(number/1000000).ToString() + "M";
else if (number > 1000)
   string = floor(number/1000).ToString() + "K";
else
   string = number.ToString();

切り詰めるのではなく丸めたい場合は、floor の代わりに round を使用します。

于 2010-03-09T20:06:42.197 に答える
0

組み込みの方法はありません。次のような独自のルーチンを作成する必要があります。

public string ConvertNumber(int num)
{
    if (num>= 1000)
        return string.Concat(num/ 1000, "k");
    else
        return num.ToString();
}
于 2010-03-09T20:07:37.543 に答える