格式字符 說明和關聯屬性
c、C 貨幣格式。
d、D 十進制格式。
e、E 科學計數(指數)格式。
f、F 固定點格式。
g、G 常規格式。
n、N 數字格式。
r、R 往返格式,確保將已轉換成字符串的數字轉換回數字時具有與原數字相同的值。
x、X 十六進制格式。
double val=Math.PI;
Console.WriteLine(val.ToString( )); //displays 3.14159265358979
Console.WriteLine(val.ToString("E"));//displays 3.141593E+000
Console.WriteLine(val.ToString("F3");//displays 3.142
int val=65535;
Console.WriteLine(val.ToString("x")); //displays ffff
Console.WriteLine(val.ToString("X")); //displays FFFF
Single val=0.123F;
Console.WriteLine(val.ToString("p")); //displays 12.30 %
Console.WriteLine(val.ToString("p1")); //displays 12.3 %
默認格式化會在數字和百分號之間放入一個空格。定製方法如下:
其中NumberFormatInfo類是System.Globalization命名空間的一個成員,因此該命名空間必須導入到程序中。
Single val=0.123F;
object myobj=NumberFormatInfo.CurrentInfo.Clone( ) as NumberFormatInfo;
NumberFormatInfo myformat=myobj as NumberFormatInfo;
myformat.PercentPositivePattern=1;
Console.WriteLine(val.ToString("p",myformat)); //displays 12.30%;
Console.WriteLine(val.ToString("p1",myformat)); //displays 12.3%;
格式化具有很大的靈活性。下面的例子演示一個沒有意義的貨幣結構:
double val=1234567.89;
int [] groupsize={2,1,3};
object myobj=NumberFormatInfo.CurrentInfo.Clone( );
NumberFormatInfo mycurrency=myobj as NumberFormatInfo;
mycurrency.CurrencySymbol="#"; //符號
mycurrency.CurrencyDecimalSeparator=":"; //小數點
mycurrency.CurrencyGroupSeparator="_"; //分隔符
mycurrency.CurrencyGroupSizes=groupsize;
// 輸出 #1_234_5_67:89
Console.WriteLine(val.ToString("C",mycurrency));