Format string: from 20,000 to 20,000 dollars?

I would like to format the values ​​so that a value like 20,000 is displayed as $ 20K and so on. What will be the C # format?

+3
source share
4 answers
double amount = 20000;
string formatted = string.Format("${0:0,.0}K", amount);
+6
source

I think you need to write your own function to divide by 1000

var culture = CultureInfo.GetCultureInfo("en-US");
int amount = 20000 / 1000;
var amountString = string.Format(culture, "{0:C}K", amount);
Console.WriteLine(amountString); // $20.00
+4
source
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;
        }
+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));
+1

Source: https://habr.com/ru/post/1750151/


All Articles