格式字符串:值20000到$ 20k?

时间:2010-06-15 16:22:49

标签: c# .net

我想格式化值,以便像20000这样的值显示为$ 20k,依此类推。什么是C#格式?

4 个答案:

答案 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));