我想格式化值,以便像20000这样的值显示为$ 20k,依此类推。什么是C#格式?
答案 0 :(得分:6)
double amount = 20000;
string formatted = string.Format("${0:0,.0}K", amount);
答案 1 :(得分:4)
我认为你需要编写自己的函数除以1,000
var culture = CultureInfo.GetCultureInfo("en-US");
int amount = 20000 / 1000;
var amountString = string.Format(culture, "{0:C}K", amount);
Console.WriteLine(amountString); // $20.00
答案 2 :(得分:1)
static void Main(string[] args)
{
int val = 20000;
string currency = string.Format("Total: {0}",ToKdisplay (val));
}
private static string ToKdisplay(int val)
{
string result = "";
result = val > 1000 ? string.Format("${0}K", val / 1000) : string.Format("${0}", val);
return result;
}
答案 3 :(得分:1)
我正在尝试做类似的事情,但在我的情况下不能使用ToString(“format”)语法。这可能有助于其他人:
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx#SpecifierTh
double value = 1234567890;
Console.WriteLine(value.ToString("#,##0,,", CultureInfo.InvariantCulture));
// Displays 1,235
对于数以百万计的人......数以千计......就像...
Console.WriteLine(value.ToString("#,##0,", CultureInfo.InvariantCulture));