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

标签 c# number-formatting

<分区>

Possible Duplicate:
Format Number like StackoverFlow (rounded to thousands with K suffix)

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

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

所以,

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

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

最佳答案

我认为这不是 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();

如果您不想截断而是舍入,请使用 round 而不是 floor。

关于c# - 如何在 C# 中格式化数字,使 12523 变为 "12K", 2323542 变为 "2M"等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2412152/

相关文章:

c# - 并排对齐按钮

c# - 在 WPF WebBrowser 中获取 URL

C# 数字格式 : leading plus sign AND spaces

matlab - 如何显示一定数量的小数位数

php - 如何将带有细空格的数字格式化为千位分隔符?

c# - 为参数的具体名称注册字符串值

c# - 用于添加应用程序的 Windows Azure Graph API

c# - Microsoft.WindowsAPICodePack.Shell音频持续时间未获得

Java NumberFormat 不将逗号作为小数点分隔符

java - 双接受逗号而不是点