星期日, 5月 17, 2009

數值資料字串格式化(VB篇)

D 或 d,代表「十進位」。
只有整數類資料型別 (Integral Type) 才支援這個格式。
數值將會被轉換為十進位數 (0-9) 的字串,如果數值為負數,則在前面加上負號。
例如下列範例會使用十進位格式規範格式化:
Dim value As Integer
value = 12345
outputBlock.Text &= value.ToString("D") & vbCrLf
' Displays 12345
outputBlock.Text &= value.ToString("D8") & vbCrLf
' Displays 00012345
value = -12345
outputBlock.Text &= value.ToString("D") & vbCrLf
' Displays -12345
outputBlock.Text &= value.ToString("D8") & vbCrLf
' Displays -0001234



F或f,代表「固定點」。
數字會轉換為 "ddd.ddd..." 型式的字串,其中 "d" 表示數字 (0-9)。
下列範例會使用定點格式規範格式化 Double 和 Int32 值。
Dim integerNumber As Integer
integerNumber = 17843
outputBlock.Text &= String.Format(integerNumber.ToString("F", CultureInfo.InvariantCulture)) & vbCrLf
' Displays 17843.00

integerNumber = -29541
outputBlock.Text &= String.Format(integerNumber.ToString("F3", CultureInfo.InvariantCulture)) & vbCrLf
' Displays -29541.000

Dim doubleNumber As Double
doubleNumber = 18934.1879
outputBlock.Text &= String.Format(doubleNumber.ToString("F", CultureInfo.InvariantCulture)) & vbCrLf
' Displays 18934.19

outputBlock.Text &= String.Format(doubleNumber.ToString("F0", CultureInfo.InvariantCulture)) & vbCrLf
' Displays 18934

doubleNumber = -1898300.1987
outputBlock.Text &= String.Format(doubleNumber.ToString("F1", CultureInfo.InvariantCulture)) & vbCrLf
' Displays -1898300.2

outputBlock.Text &= doubleNumber.ToString("F3", _
New CultureInfo("es-ES")) & vbCrLf
' Displays -1898300,199




N或n,代表數字。
數字會轉換為 "d,ddd,ddd.ddd…" 格式的字串、'd' 表示數字 (0-9)、',' 表示數字群組之間的千位分隔符號,
而 '.' 則表示小數點符號。
下列範例會使用數字格式規範來格式化各種浮點數值

Dim dblValue As Double = -12445.6789
outputBlock.Text &= String.Format(dblValue.ToString("N", CultureInfo.InvariantCulture)) & vbCrLf
' Displays -12,445.68
outputBlock.Text &= dblValue.ToString("N1", _
New CultureInfo("sv-SE")) & vbCrLf
' Displays -12?445,7

Dim intValue As Integer = 123456789
outputBlock.Text &= String.Format(intValue.ToString("N1", CultureInfo.InvariantCulture)) & vbCrLf
' Displays 123,456,789.0




P或p,代表百分比
下列範例會使用百分比格式規範來格式化浮點數值。
Dim number As Double = 0.2468013
outputBlock.Text &= String.Format(number.ToString("P", CultureInfo.InvariantCulture)) & vbCrLf
' Displays 24.68 %
outputBlock.Text &= number.ToString("P", _
New CultureInfo("hr-HR")) & vbCrLf
' Displays 24,68%
outputBlock.Text &= String.Format(number.ToString("P1", CultureInfo.InvariantCulture)) & vbCrLf
' Displays 24.7 %

沒有留言:

張貼留言