2009年3月25日 星期三

.Net C# .ToString() vs. Convert.ToString()

.ToString() vs. Convert.ToString()
兩種都可以把東西轉換成字串
但兩種又不太一樣

Convert.ToString()是將任何物件強制轉換為字串

.ToString()則是若有些物件有提供ToSting()方法才可以轉換,否則會錯誤

Convert還有其他格式轉換方式,可以參考
http://msdn.microsoft.com/zh-tw/library/system.convert_members.aspx

至於.ToString因為配合不同的物件,有不同的功用,可以作到number_format這一類的功能

如:
int a = 99.123
a.ToString("C") => NT$ 99.12
輸出金額格式,台灣的顯示方式是,前置單位NT$,千分號為(,),取小數點以下兩位四捨五入

int a = 99
a.ToString("D10") => 0000000099
自動補到D後面的位數(D參數一定要整數使用,有小數點會發生錯誤)

int a = 99.123
a.ToString("F2") => 99.12
Float的意思,取浮點數,到小數點F後面的位數,四捨五入

int a = 99.123
a.ToString("N") => 99.12
和C類似,只是沒有前置單位

其他還有日期格式等等都可以使用,
需要參考各物件的toString的IFormatProvider

沒有留言:

張貼留言