Skip to main content

A quick reference to .NET string formatting in C#

Every object has a method called ToString that returns a string representation of the object. The ToString method can accept a string parameter, which tells the object how to format itself - in the String.Format call, the formatting string is passed after the position, for example, "{0:##}"

The text inside the curly braces is {index[,alignment][:formatString]}. If alignment is positive, the text is right-aligned in a field the given number of spaces; if it's negative, it's left-aligned.

String.Format("{0:$#,##0.00;($#,##0.00);Zero}", value); :- This will output "$1,240.00" if passed 1243.50.

Numbers
Basic number formatting specifiers:
SpecifierTypeFormat Output (Passed Double 1.42)Output (Passed Int -12400)
cCurrency{0:c}$1.42-$12,400
dDecimal (Whole number){0:d}System.FormatException-12400
eScientific{0:e}1.420000e+000-1.240000e+004
fFixed point{0:f}1.42-12400.00
gGeneral{0:g}1.42-12400
nNumber with commas for thousands{0:n}1.42-12,400
rRound trippable{0:r}1.42System.FormatException
xHexadecimal{0:x4}System.FormatExceptioncf90

Custom number formatting:
SpecifierTypeExample Output (Passed Double 1500.42)Note
0Zero placeholder{0:00.0000}1500.4200Pads with zeroes.
#Digit placeholder{0:(#).##}(1500).42
.Decimal point{0:0.0}1500.4
,Thousand separator{0:0,0}1,500Must be between two zeroes.
,.Number scaling{0:0,.} 2Comma adjacent to Period scales by 1000.
%Percent{0:0%}150042%Multiplies by 100, adds % sign.
eExponent placeholder{0:00e+0}15e+2Many exponent formats available.
;Group separatorsee below

The group separator is especially useful for formatting currency values which require that negative values be enclosed in parentheses. This currency formatting example at the bottom of this document makes it obvious: Dates

Note that date formatting is especially dependant on the system's regional settings; the example strings here are from my local locale.
SpecifierTypeExample (Passed System.DateTime.Now)
dShort date10/12/2002
DLong dateDecember 10, 2002
tShort time10:11 PM
TLong time10:11:29 PM
fFull date & time December 10, 2002 10:11 PM
FFull date & time (long)December 10, 2002 10:11:29 PM
gDefault date & time10/12/2002 10:11 PM
GDefault date & time (long)10/12/2002 10:11:29 PM
MMonth day patternDecember 10
rRFC1123 date stringTue, 10 Dec 2002 22:11:29 GMT
sSortable date string2002-12-10T22:11:29
uUniversal sortable, local time2002-12-10 22:13:50Z
UUniversal sortable, GMTDecember 11, 2002 3:13:50 AM
YYear month patternDecember, 2002

Custom date formatting:
SpecifierTypeExample Example Output
ddDay{0:dd}10
dddDay name{0:ddd}Tue
ddddFull day name{0:dddd}Tuesday
f, ff, ...Second fractions{0:fff}932
gg, ...Era{0:gg}A.D.
hh2 digit hour{0:hh}10
HH2 digit hour, 24hr format{0:HH}22
mmMinute 00-59{0:mm}38
MMMonth 01-12{0:MM}12
MMMMonth abbreviation{0:MMM}Dec
MMMMFull month name{0:MMMM}December
ssSeconds 00-59{0:ss}46
ttAM or PM{0:tt}PM
yyYear, 2 digits{0:yy}02
yyyyYear{0:yyyy}2002
zzTimezone offset, 2 digits{0:zz}-05
zzzFull timezone offset{0:zzz}-05:00
:Separator{0:hh:mm:ss}10:43:20
/Separator{0:dd/MM/yyyy}10/12/2002

Comments

  1. String.Format("{0:R}", DataBinder.Eval(Container.DataItem, "PostedDate"))

    ReplyDelete

Post a Comment

Popular posts from this blog

ഗുരു ദേവോ ഭവ:

ഇ ന്ന് ദേശീയ അധ്യാപക ദിനം. അധ്യാപകനും രാഷ്ട്രപതിയുമായിരുന്ന ഡോ.എസ് രാധാകൃഷ്ണന്‍റെ പിറന്നാള്‍ ദിനമാണ് അധ്യാപക ദിനമായി നാം ആചരിക്കുന്നത്. ഈ ഒരു സുദിനത്തില്‍ ഈയൊരു അധ്യാപകനെ സ്മരിച്ചില്ലെങ്കില്‍ അതൊരു നന്ദികേടായി പോവും.  ഓര്‍മ്മക്കുറിപ്പിലേക്ക് കടക്കുന്നതിനു മുന്‍പൊരു ഡിസ്ക്ലെയിമര്‍. ബാദ്ധ്യതാ നിരാകരണം ഒടുക്കം മാത്രം നടത്തുന്നതാണ് ആചാരം. എങ്കിലും, അതു താനല്ലയോ ഇതെന്ന് ചുമ്മാ കല്‍പ്പിച്ചു കൂട്ടി എന്തിനുമേതിനും വ്രണപ്പെടുന്നൊരു സമൂഹത്തില്‍, അവകാശപരിത്യാഗം ആദ്യം തന്നെ നടത്തുകയെന്ന ആചാരലംഘനമാവും ഉചിതം. അതെ, ഇനി ഇവിടെ പറയാന്‍ പോവുന്നതൊരു മിത്ത് മാത്രമാണു. എന്ന്? എവിടെ? എത്രത്തോളം? നടന്നുവെന്നതിനൊന്നും ഇവിടെയൊരു പ്രസക്തിയില്ല. പതിറ്റാണ്ടുകളായി കേരളത്തിലെ പലപല കോളേജുകളും ഇതെന്‍റെ ഗര്‍ഭമാണെന്ന അവകാശവാദവുമായി എത്തിയിട്ടുണ്ടു. സത്യം ആര്‍ക്കറിയാം! ഒരു കാര്യം മാത്രം എനിക്കു തറപ്പിച്ചു പറയാം, എന്‍റെ ഗര്‍ഭം ഇങ്ങിനെയല്ല. അതുകൊണ്ടു തന്നെ ഈ കഥയിലെ കഥാപാത്രങ്ങളും കഥാപരിസരവും സാങ്കല്‍പ്പികം മാത്രമാണു, മറിച്ച് തോന്നുന്നെങ്കില്‍ അതു കയ്യിലിരിപ്പിന്‍റെ ഗുണം

മലയാളത്തില്‍ മൊത്തം എത്ര അക്ഷരങ്ങള്‍ ഉണ്ട്?

മലയാളത്തെ മറന്നവര്‍ക്കും മറന്നെന്നു നടിക്കുന്നവര്‍ക്കും ഒന്നോര്‍മ്മ പുതുക്കാന്‍ അക്ഷരമാലയെ രാജേഷ്‌ ഇവിടെ എടുത്തെഴുതുന്നു..... http://chayilyam.com/miscellaneous/personal/%E0%B4%A4%E0%B5%8B%E0%B4%A8%E0%B5%8D%E0%B4%A8%E0%B5%8D%E0%B4%AF%E0%B4%BE%E0%B4%95%E0%B5%8D%E0%B4%B7%E0%B4%B0%E0%B4%99%E0%B5%8D%E0%B4%99%E0%B4%B3%E0%B5%8D%E2%80%8D

കൈപ്പത്തി

പുറത്ത് നിര്‍ത്താതെ നിലവിളിക്കുന്ന ഫയര്‍ അലാറം കേട്ടിട്ട് പേടിയൊന്നും തോന്നിയില്ല. ആവശ്യമുള്ളപ്പോഴൊന്നും  ഒരലാറവും മുന്നറിയിപ്പ് തന്നിട്ടില്ല, ഇതും മോക്ക്‌ ഡ്രില്ലാവാനെ തരമുള്ളൂ. ബോയിലര്‍ റൂമില്‍ കേറി, പ്രശ്നങ്ങളൊന്നുമില്ല എന്നുറപ്പു വരുത്തിയിട്ട് പുറത്തേക്കിറങ്ങി. അസംബ്ലി പോയന്‍റില്‍ ഏതാണ്ടെല്ലാവരും എത്തിയിട്ടുണ്ട്. അരികെയുള്ളോരു  മരച്ചുവട്ടില്‍ കുടയും ചോറ്റുപാത്രവും ഒളിപ്പിച്ച്, ഞാനും ആ കൂട്ടത്തിലേക്ക് ലയിച്ചു.  സുരക്ഷാ ഉദ്യോഗസ്ഥര്‍ക്ക് ആറു മാസം കൂടുമ്പോള്‍ പണിയെടുക്കാന്‍ കിട്ടുന്ന ഏക അവസരമാണ്, അതവര്‍ നന്നായി ആഘോഷിക്കുന്നുമുണ്ട്. കമ്പനിയില്‍ പുതുതായി ചേര്‍ന്നവരെല്ലാം മുന്‍നിരയില്‍ തന്നെ നിലയുറപ്പിച്ചിട്ടുണ്ട്. മീനസൂര്യനോട് കെറുവിച്ച് മനസ്സില്ലാമനസ്സോടെ ഞങ്ങള്‍ കുറച്ച് പേര്‍ ഏറ്റവും പുറകിലും.