如何在C#中格式化数字,使12523变为"12K",2323542变为"2M"等?

Ter*_*act 7 c# number-formatting

可能重复:
格式化数字,如StackoverFlow(舍入到数千,后缀为K)

如何格式化C#中的数字,使12523.57变为"12K",2323542.32变为"2M"等?

我不知道如何附加正确的数字缩写(K,M等)并显示相应的数字?

所以,

1000 = 1K  
2123.32 = 2K  
30040 = 30k  
2000000 = 2M  
Run Code Online (Sandbox Code Playgroud)

在C#中是否有内置方式来执行此操作?

Pat*_*ick 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();
Run Code Online (Sandbox Code Playgroud)

如果您不想截断,而是圆形,请使用圆形而不是地板.