Mar122008

String Formatting in C#

Published by Waqas at 5:14 PM under Tips n Tricks

Following is the cut/paste from blog post of SteveXCompiled. I have added it here for my future reference :)

Q: How do I show numbers with 5 fixed digits with leading zeroes
A: int _num1 = 123;
int _num2 = 45;
int _num3 = 123456;String.Format("{0:00000}", _num1); //"00123"
       String.Format("{0:00000}",   _num2); //"00045"
       String.Format("{0:00000}", _num3); //"123456"String.Format("{0:d5}", _num1); //"00123"
       String.Format("{0:d5}", _num2);   //"00045"
       String.Format("{0:d5}", _num3); //"123456"
 
Q: Can I substitute a string for a value?
A: Yes:

String.Format("{0:yes;;no}", value)This will print "no" if value is 0, "yes" if value is 1.
 
Q: What’s the most efficient way to convert a type into a string?
A: Double testDouble = 19.95;
String testString1 = String.Format("{0:C}", testDouble); // Boxing operation required.
String testString2 = testDouble.ToString(”C”); // No boxing operation required.
 
Q: How can I format as percentage without having the number multiplied by 100?
A: Put a single quote (’) before the % in the format string.
myString.Format("{0:##.00'%", 1.23);This will yield "1.23%".
 
Q: Can I convert a number with a thousand separator to an int?
A: Yes - no matter what thousand separator is in use for your locale.
int x = int.Parse("1,345"); // fails
int x = int.Parse("1,345",System.Globalization.NumberStyles.AllowThousands)
This gives you an x of 1345.
 
Q: How can I use curly brackets within a formatted number?
A: Yes - doubling them escapes them. For example:
string.format("{{SomeString}}={0}","Hello");
will produce: "{SomeString}=Hellow"
 
Q: How can I convert from currency back to a number?
A: You can add the bitmapped values of the Globalization.NumberStyles enumeration.
// format double to currency
str = string.Format("{0:c}", pmt);

// parse currency formatted string to   double
double.Parse(str,   Globalization.NumberStyles.AllowCurrencySymbol + Globalization.NumberStyles.AllowDecimalPoint +   Globalization.NumberStyles.AllowThousands);
 
Q: What’s a good way to format currency?
A: double val = 4219.6;
str = string.Format("{0:$#,#.00;Call Us;Call Us}", val); This will return "$4,219.60". The .00 will force 2 decimals and the “;Call Us;Call Us” to show the text “Call Us” in place of negative and null values respectively. (Just in case)
 
Q: How do I format an integer, with commas for thousands?
A: string str = string.Format("{0:#,0}", intValue); 

Q: How can I format a phone number to look like 800.555.1212?
A: There’s no direct way to do this; however you can get dashes in the output. So you can do this:
string tempStr = String.Format(”{0:###-###-####}”, 8005551212);
string result =tempStr.Replace(’-',’.');



[Digg] [Google] [Facebook]

Tags: ,

E-mail| Permalink | Trackback | Post RSSRSS comment feed 0 Responses

Related posts

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading