.net中格式化數字的幾種方法

格式字符    說明和關聯屬性

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章