Convert.ToString 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將指定的值轉換成其相等的字串表示。
多載
ToString(Int32, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之 32 位元帶正負號的整數的值轉換為它的相等字串表示。 |
ToString(Int16, Int32) |
將 16 位元帶正負號整數的值,轉換為它在指定之基底中的相等字串表示。 |
ToString(DateTime, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之 DateTime 的值轉換為它的相等字串表示。 |
ToString(Double, IFormatProvider) |
將指定之雙精確度浮點數的值,轉換為它的相等字串表示。 |
ToString(Decimal, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之十進位數字的值轉換為它的相等字串表示。 |
ToString(Int32, Int32) |
將 32 位元帶正負號整數的值,轉換為它在指定之基底中的相等字串表示。 |
ToString(Int16, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之 16 位元帶正負號的整數的值轉換為它的相等字串表示。 |
ToString(Int64, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之 64 位元帶正負號的整數的值轉換為它的相等字串表示。 |
ToString(Single, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之單精確度浮點數的值轉換為它的相等字串表示。 |
ToString(Object, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之物件的值轉換為它的相等字串表示。 |
ToString(SByte, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之 8 位元帶正負號的整數的值轉換為它的相等字串表示。 |
ToString(String, IFormatProvider) |
傳回指定的字串執行個體,不執行實際的轉換。 |
ToString(UInt16, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之 16 位元不帶正負號的整數的值轉換為它的相等字串表示。 |
ToString(UInt32, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之 32 位元不帶正負號的整數的值轉換為它的相等字串表示。 |
ToString(UInt64, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之 64 位元不帶正負號的整數的值轉換為它的相等字串表示。 |
ToString(Char, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之 Unicode 字元的值轉換為它的相等字串表示。 |
ToString(Int64, Int32) |
將 64 位元帶正負號整數的值,轉換為它在指定之基底中的相等字串表示。 |
ToString(Byte, Int32) |
將 8 位元不帶正負號整數的值,轉換為它在指定基底中的相等字串表示。 |
ToString(Boolean, IFormatProvider) |
將指定的布林值轉換為它的相等字串表示。 |
ToString(Byte, IFormatProvider) |
使用指定之特定文化特性格式資訊,將指定之 8 位元不帶正負號的整數的值轉換為它的相等字串表示。 |
ToString(Boolean) |
將指定的布林值轉換為它的相等字串表示。 |
ToString(Byte) |
將指定之 8 位元不帶正負號的整數值,轉換為它的相等字串表示。 |
ToString(Char) |
將指定之 Unicode 字元的值,轉換為它的相等字串表示。 |
ToString(DateTime) |
將指定之 DateTime 的值轉換為它的相等字串表示。 |
ToString(Double) |
將指定之雙精確度浮點數的值,轉換為它的相等字串表示。 |
ToString(Int16) |
將指定之 16 位元帶正負號的整數值,轉換為它的相等字串表示。 |
ToString(Int32) |
將指定之 32 位元帶正負號的整數值,轉換為它的相等字串表示。 |
ToString(Decimal) |
將指定之十進位數字的值,轉換為它的相等字串表示。 |
ToString(Object) |
將指定之物件的值轉換為它的相等字串表示。 |
ToString(SByte) |
將指定之 8 位元帶正負號的整數值,轉換為它的相等字串表示。 |
ToString(Single) |
將指定之單精確度浮點數的值,轉換為它的相等字串表示。 |
ToString(String) |
傳回指定的字串執行個體,不執行實際的轉換。 |
ToString(UInt16) |
將指定之 16 位元不帶正負號的整數值,轉換為它的相等字串表示。 |
ToString(UInt32) |
將指定之 32 位元不帶正負號的整數值,轉換為它的相等字串表示。 |
ToString(UInt64) |
將指定之 64 位元不帶正負號的整數值,轉換為它的相等字串表示。 |
ToString(Int64) |
將指定之 64 位元帶正負號的整數值,轉換為它的相等字串表示。 |
ToString(Int32, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
使用指定之特定文化特性格式資訊,將指定之 32 位元帶正負號的整數的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(int value, IFormatProvider ^ provider);
public static string ToString (int value, IFormatProvider provider);
public static string ToString (int value, IFormatProvider? provider);
static member ToString : int * IFormatProvider -> string
Public Shared Function ToString (value As Integer, provider As IFormatProvider) As String
參數
- value
- Int32
要轉換的 32 位元帶正負號的整數。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
範例
下列範例會定義自定義 NumberFormatInfo 類別,將負號定義為字串 “~” 和正負號做為字串 “!”。 然後它會呼叫 方法, ToString(Int32, IFormatProvider) 將整數數位中的每個項目轉換成其相等字串表示。 轉換會使用不可變的文化特性以及自定義 NumberFormatInfo 物件。
int[] numbers = { Int32.MinValue, Int32.MaxValue};
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
foreach (int number in numbers)
Console.WriteLine("{0,-12} --> {1,12}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// -2147483648 --> ~2147483648
// 2147483647 --> 2147483647
let numbers = [| Int32.MinValue; Int32.MaxValue |]
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-12} --> {Convert.ToString(number, nfi),12}"
// The example displays the following output:
// -2147483648 --> ~2147483648
// 2147483647 --> 2147483647
Dim numbers() As Integer = { Int32.MinValue, Int32.MaxValue}
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
For Each number As Integer In numbers
Console.WriteLine("{0,-12} --> {1,12}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
Next
' The example displays the following output:
' -2147483648 --> ~2147483648
' 2147483647 --> 2147483647
備註
此實作與 Int32.ToString(IFormatProvider)相同。
適用於
ToString(Int16, Int32)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將 16 位元帶正負號整數的值,轉換為它在指定之基底中的相等字串表示。
public:
static System::String ^ ToString(short value, int toBase);
public static string ToString (short value, int toBase);
static member ToString : int16 * int -> string
Public Shared Function ToString (value As Short, toBase As Integer) As String
參數
- value
- Int16
要轉換的 16 位元帶正負號的整數。
- toBase
- Int32
傳回值的基底,必須是 2、8、10 或 16。
傳回
在基底 value
中 toBase
的字串表示。
例外狀況
toBase
不是 2、8、10 或 16。
範例
下列範例會將16位帶正負號整數數位列中的每個元素,轉換為其相等的二進位、八進位、十進位、十六進位字串表示。
int[] bases = { 2, 8, 10, 16};
short[] numbers = { Int16.MinValue, -13621, -18, 12, 19142, Int16.MaxValue };
foreach (int baseValue in bases)
{
Console.WriteLine("Base {0} conversion:", baseValue);
foreach (short number in numbers)
{
Console.WriteLine(" {0,-8} --> 0x{1}",
number, Convert.ToString(number, baseValue));
}
}
// The example displays the following output:
// Base 2 conversion:
// -32768 --> 0x1000000000000000
// -13621 --> 0x1100101011001011
// -18 --> 0x1111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 32767 --> 0x111111111111111
// Base 8 conversion:
// -32768 --> 0x100000
// -13621 --> 0x145313
// -18 --> 0x177756
// 12 --> 0x14
// 19142 --> 0x45306
// 32767 --> 0x77777
// Base 10 conversion:
// -32768 --> 0x-32768
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 32767 --> 0x32767
// Base 16 conversion:
// -32768 --> 0x8000
// -13621 --> 0xcacb
// -18 --> 0xffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 32767 --> 0x7fff
let bases = [| 2; 8; 10; 16 |]
let numbers = [| Int16.MinValue; -13621s; -18s; 12s; 19142s; Int16.MaxValue |]
for baseValue in bases do
printfn $"Base {baseValue} conversion:"
for number in numbers do
printfn $" {number,-8} --> 0x{Convert.ToString(number, baseValue)}"
// The example displays the following output:
// Base 2 conversion:
// -32768 --> 0x1000000000000000
// -13621 --> 0x1100101011001011
// -18 --> 0x1111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 32767 --> 0x111111111111111
// Base 8 conversion:
// -32768 --> 0x100000
// -13621 --> 0x145313
// -18 --> 0x177756
// 12 --> 0x14
// 19142 --> 0x45306
// 32767 --> 0x77777
// Base 10 conversion:
// -32768 --> 0x-32768
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 32767 --> 0x32767
// Base 16 conversion:
// -32768 --> 0x8000
// -13621 --> 0xcacb
// -18 --> 0xffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 32767 --> 0x7fff
Dim bases() As Integer = { 2, 8, 10, 16}
Dim numbers() As Short = { Int16.MinValue, -13621, -18, 12, 19142, _
Int16.MaxValue }
For Each base As Integer In bases
Console.WriteLine("Base {0} conversion:", base)
For Each number As Short In numbers
Console.WriteLine(" {0,-8} --> 0x{1}", _
number, Convert.ToString(number, base))
Next
Next
' The example displays the following output:
' Base 2 conversion:
' -32768 --> 0x1000000000000000
' -13621 --> 0x1100101011001011
' -18 --> 0x1111111111101110
' 12 --> 0x1100
' 19142 --> 0x100101011000110
' 32767 --> 0x111111111111111
' Base 8 conversion:
' -32768 --> 0x100000
' -13621 --> 0x145313
' -18 --> 0x177756
' 12 --> 0x14
' 19142 --> 0x45306
' 32767 --> 0x77777
' Base 10 conversion:
' -32768 --> 0x-32768
' -13621 --> 0x-13621
' -18 --> 0x-18
' 12 --> 0x12
' 19142 --> 0x19142
' 32767 --> 0x32767
' Base 16 conversion:
' -32768 --> 0x8000
' -13621 --> 0xcacb
' -18 --> 0xffee
' 12 --> 0xc
' 19142 --> 0x4ac6
' 32767 --> 0x7fff
let bases = [2; 8; 10; 16]
let numbers = [ Int16.MinValue; -13621s; -18s; 12s; 19142s; Int16.MaxValue ]
for baseValue in bases do
printfn "Base %i conversion:" baseValue
for number in numbers do
printfn " % -8i --> 0x%s" number (Convert.ToString (number, baseValue))
// The example displays the following output:
// Base 2 conversion:
// -32768 --> 0x1000000000000000
// -13621 --> 0x1100101011001011
// -18 --> 0x1111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 32767 --> 0x111111111111111
// Base 8 conversion:
// -32768 --> 0x100000
// -13621 --> 0x145313
// -18 --> 0x177756
// 12 --> 0x14
// 19142 --> 0x45306
// 32767 --> 0x77777
// Base 10 conversion:
// -32768 --> 0x-32768
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 32767 --> 0x32767
// Base 16 conversion:
// -32768 --> 0x8000
// -13621 --> 0xcacb
// -18 --> 0xffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 32767 --> 0x7fff
備註
如果 value
為正數,且 toBase
為 2、8 或 16,則傳回的字串會使用符號和大小表示法。 如果 value
為負數,且 toBase
為 2、8 或 16,則傳回的字串會使用兩個補碼表示法。 這表示高序位元組 (位15位) 的高序位會解譯為符號位。
ToString(Int16, Int32)如果呼叫 方法以建立稍後會轉換回數位的字串,則應該呼叫類似的數值表示法來執行轉換的對應方法。 這類方法包括 Convert.ToInt16(String, Int32) 和 Int16.Parse(String, NumberStyles)。
適用於
ToString(DateTime, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
使用指定之特定文化特性格式資訊,將指定之 DateTime 的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(DateTime value, IFormatProvider ^ provider);
public static string ToString (DateTime value, IFormatProvider provider);
public static string ToString (DateTime value, IFormatProvider? provider);
static member ToString : DateTime * IFormatProvider -> string
Public Shared Function ToString (value As DateTime, provider As IFormatProvider) As String
參數
- value
- DateTime
要轉換的日期和時間值。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
範例
下列範例會 DateTime 以八個不同的文化特性,將值轉換成其相等字串表示。
// Specify the date to be formatted using various cultures.
DateTime tDate = new DateTime(2010, 4, 15, 20, 30, 40, 333);
// Specify the cultures.
string[] cultureNames = { "en-US", "es-AR", "fr-FR", "hi-IN",
"ja-JP", "nl-NL", "ru-RU", "ur-PK" };
Console.WriteLine("Converting the date {0}: ",
Convert.ToString(tDate,
System.Globalization.CultureInfo.InvariantCulture));
foreach (string cultureName in cultureNames)
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
string dateString = Convert.ToString(tDate, culture);
Console.WriteLine(" {0}: {1,-12}",
culture.Name, dateString);
}
// The example displays the following output:
// Converting the date 04/15/2010 20:30:40:
// en-US: 4/15/2010 8:30:40 PM
// es-AR: 15/04/2010 08:30:40 p.m.
// fr-FR: 15/04/2010 20:30:40
// hi-IN: 15-04-2010 20:30:40
// ja-JP: 2010/04/15 20:30:40
// nl-NL: 15-4-2010 20:30:40
// ru-RU: 15.04.2010 20:30:40
// ur-PK: 15/04/2010 8:30:40 PM
// Specify the date to be formatted using various cultures.
let tDate = DateTime(2010, 4, 15, 20, 30, 40, 333)
// Specify the cultures.
let cultureNames =
[| "en-US"; "es-AR"; "fr-FR"; "hi-IN";
"ja-JP"; "nl-NL"; "ru-RU"; "ur-PK" |]
printfn $"Converting the date {Convert.ToString(tDate, CultureInfo.InvariantCulture)}: "
for cultureName in cultureNames do
let culture = CultureInfo cultureName
let dateString = Convert.ToString(tDate, culture)
printfn $" {culture.Name}: {dateString,-12}"
// The example displays the following output:
// Converting the date 04/15/2010 20:30:40:
// en-US: 4/15/2010 8:30:40 PM
// es-AR: 15/04/2010 08:30:40 p.m.
// fr-FR: 15/04/2010 20:30:40
// hi-IN: 15-04-2010 20:30:40
// ja-JP: 2010/04/15 20:30:40
// nl-NL: 15-4-2010 20:30:40
// ru-RU: 15.04.2010 20:30:40
// ur-PK: 15/04/2010 8:30:40 PM
' Specify the date to be formatted using various cultures.
Dim tDate As New Date(2010, 4, 15, 20, 30, 40, 333)
' Specify the cultures.
Dim cultureNames() As String = { "en-US", "es-AR", "fr-FR", "hi-IN", _
"ja-JP", "nl-NL", "ru-RU", "ur-PK" }
Console.WriteLine("Converting the date {0}: ", _
Convert.ToString(tDate, _
System.Globalization.CultureInfo.InvariantCulture))
For Each cultureName As String In CultureNames
Dim culture As New System.Globalization.CultureInfo(cultureName)
Dim dateString As String = Convert.ToString(tDate, culture)
Console.WriteLine(" {0}: {1,-12}", _
culture.Name, dateString)
Next
' The example displays the following output:
' Converting the date 04/15/2010 20:30:40:
' en-US: 4/15/2010 8:30:40 PM
' es-AR: 15/04/2010 08:30:40 p.m.
' fr-FR: 15/04/2010 20:30:40
' hi-IN: 15-04-2010 20:30:40
' ja-JP: 2010/04/15 20:30:40
' nl-NL: 15-4-2010 20:30:40
' ru-RU: 15.04.2010 20:30:40
' ur-PK: 15/04/2010 8:30:40 PM
備註
此實作與 DateTime.ToString(IFormatProvider)相同。
適用於
ToString(Double, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定之雙精確度浮點數的值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(double value, IFormatProvider ^ provider);
public static string ToString (double value, IFormatProvider provider);
public static string ToString (double value, IFormatProvider? provider);
static member ToString : double * IFormatProvider -> string
Public Shared Function ToString (value As Double, provider As IFormatProvider) As String
參數
- value
- Double
要轉換的雙精確度浮點數。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
範例
下列範例會將值陣列 Double 中的每個項目,轉換為四個不同文化特性中的對等字串表示。
// Define an array of numbers to display.
double[] numbers = { -1.5345e16, -123.4321, 19092.123, 1.1734231911290e16 };
// Define the culture names used to display them.
string[] cultureNames = { "en-US", "fr-FR", "ja-JP", "ru-RU" };
foreach (double number in numbers)
{
Console.WriteLine("{0}:", Convert.ToString(number,
System.Globalization.CultureInfo.InvariantCulture));
foreach (string cultureName in cultureNames)
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
Console.WriteLine(" {0}: {1,20}",
culture.Name, Convert.ToString(number, culture));
}
Console.WriteLine();
}
// The example displays the following output:
// -1.5345E+16:
// en-US: -1.5345E+16
// fr-FR: -1,5345E+16
// ja-JP: -1.5345E+16
// ru-RU: -1,5345E+16
//
// -123.4321:
// en-US: -123.4321
// fr-FR: -123,4321
// ja-JP: -123.4321
// ru-RU: -123,4321
//
// 19092.123:
// en-US: 19092.123
// fr-FR: 19092,123
// ja-JP: 19092.123
// ru-RU: 19092,123
//
// 1.173423191129E+16:
// en-US: 1.173423191129E+16
// fr-FR: 1,173423191129E+16
// ja-JP: 1.173423191129E+16
// ru-RU: 1,173423191129E+16
// Define an array of numbers to display.
let numbers = [| -1.5345e16; -123.4321; 19092.123; 1.1734231911290e16 |]
// Define the culture names used to display them.
let cultureNames = [| "en-US"; "fr-FR"; "ja-JP"; "ru-RU" |]
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture)}:"
for cultureName in cultureNames do
let culture = CultureInfo cultureName
printfn " {culture.Name}: {Convert.ToString(number, culture),20}"
printfn ""
// The example displays the following output:
// -1.5345E+16:
// en-US: -1.5345E+16
// fr-FR: -1,5345E+16
// ja-JP: -1.5345E+16
// ru-RU: -1,5345E+16
//
// -123.4321:
// en-US: -123.4321
// fr-FR: -123,4321
// ja-JP: -123.4321
// ru-RU: -123,4321
//
// 19092.123:
// en-US: 19092.123
// fr-FR: 19092,123
// ja-JP: 19092.123
// ru-RU: 19092,123
//
// 1.173423191129E+16:
// en-US: 1.173423191129E+16
// fr-FR: 1,173423191129E+16
// ja-JP: 1.173423191129E+16
// ru-RU: 1,173423191129E+16
' Define an array of numbers to display.
Dim numbers() As Double = { -1.5345e16, -123.4321, 19092.123, _
1.1734231911290e16 }
' Define the culture names used to display them.
Dim cultureNames() As String = { "en-US", "fr-FR", "ja-JP", "ru-RU" }
For Each number As Double In numbers
Console.WriteLine("{0}:", Convert.ToString(number, _
System.Globalization.CultureInfo.InvariantCulture))
For Each cultureName As String In cultureNames
Dim culture As New System.Globalization.CultureInfo(cultureName)
Console.WriteLine(" {0}: {1,20}", _
culture.Name, Convert.ToString(number, culture))
Next
Console.WriteLine()
Next
' The example displays the following output:
' -1.5345E+16:
' en-US: -1.5345E+16
' fr-FR: -1,5345E+16
' ja-JP: -1.5345E+16
' ru-RU: -1,5345E+16
'
' -123.4321:
' en-US: -123.4321
' fr-FR: -123,4321
' ja-JP: -123.4321
' ru-RU: -123,4321
'
' 19092.123:
' en-US: 19092.123
' fr-FR: 19092,123
' ja-JP: 19092.123
' ru-RU: 19092,123
'
' 1.173423191129E+16:
' en-US: 1.173423191129E+16
' fr-FR: 1,173423191129E+16
' ja-JP: 1.173423191129E+16
' ru-RU: 1,173423191129E+16
備註
此實作與 Double.ToString(IFormatProvider)
適用於
ToString(Decimal, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
使用指定之特定文化特性格式資訊,將指定之十進位數字的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::Decimal value, IFormatProvider ^ provider);
public static string ToString (decimal value, IFormatProvider provider);
public static string ToString (decimal value, IFormatProvider? provider);
static member ToString : decimal * IFormatProvider -> string
Public Shared Function ToString (value As Decimal, provider As IFormatProvider) As String
參數
- value
- Decimal
要轉換的十進位數字。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
範例
下列範例會將值陣列 Decimal 中的每個項目,轉換為四個不同文化特性中的對等字串表示。
// Define an array of numbers to display.
decimal[] numbers = { 1734231911290.16m, -17394.32921m,
3193.23m, 98012368321.684m };
// Define the culture names used to display them.
string[] cultureNames = { "en-US", "fr-FR", "ja-JP", "ru-RU" };
foreach (decimal number in numbers)
{
Console.WriteLine("{0}:", Convert.ToString(number,
System.Globalization.CultureInfo.InvariantCulture));
foreach (string cultureName in cultureNames)
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
Console.WriteLine(" {0}: {1,20}",
culture.Name, Convert.ToString(number, culture));
}
Console.WriteLine();
}
// The example displays the following output:
// 1734231911290.16:
// en-US: 1734231911290.16
// fr-FR: 1734231911290,16
// ja-JP: 1734231911290.16
// ru-RU: 1734231911290,16
//
// -17394.32921:
// en-US: -17394.32921
// fr-FR: -17394,32921
// ja-JP: -17394.32921
// ru-RU: -17394,32921
//
// 3193.23:
// en-US: 3193.23
// fr-FR: 3193,23
// ja-JP: 3193.23
// ru-RU: 3193,23
//
// 98012368321.684:
// en-US: 98012368321.684
// fr-FR: 98012368321,684
// ja-JP: 98012368321.684
// ru-RU: 98012368321,684
// Define an array of numbers to display.
let numbers =
[| 1734231911290.16m; -17394.32921m; 3193.23m; 98012368321.684m |]
// Define the culture names used to display them.
let cultureNames = [| "en-US"; "fr-FR"; "ja-JP"; "ru-RU" |]
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture)}:"
for cultureName in cultureNames do
let culture = CultureInfo cultureName
printfn $" {culture.Name}: {Convert.ToString(number, culture),20}"
printfn ""
// The example displays the following output:
// 1734231911290.16:
// en-US: 1734231911290.16
// fr-FR: 1734231911290,16
// ja-JP: 1734231911290.16
// ru-RU: 1734231911290,16
//
// -17394.32921:
// en-US: -17394.32921
// fr-FR: -17394,32921
// ja-JP: -17394.32921
// ru-RU: -17394,32921
//
// 3193.23:
// en-US: 3193.23
// fr-FR: 3193,23
// ja-JP: 3193.23
// ru-RU: 3193,23
//
// 98012368321.684:
// en-US: 98012368321.684
// fr-FR: 98012368321,684
// ja-JP: 98012368321.684
// ru-RU: 98012368321,684
' Define an array of numbers to display.
Dim numbers() As Decimal = { 1734231911290.16d, -17394.32921d, _
3193.23d, 98012368321.684d }
' Define the culture names used to display them.
Dim cultureNames() As String = { "en-US", "fr-FR", "ja-JP", "ru-RU" }
For Each number As Decimal In numbers
Console.WriteLine("{0}:", Convert.ToString(number, _
System.Globalization.CultureInfo.InvariantCulture))
For Each cultureName As String In cultureNames
Dim culture As New System.Globalization.CultureInfo(cultureName)
Console.WriteLine(" {0}: {1,20}", _
culture.Name, Convert.ToString(number, culture))
Next
Console.WriteLine()
Next
' The example displays the following output:
' 1734231911290.16:
' en-US: 1734231911290.16
' fr-FR: 1734231911290,16
' ja-JP: 1734231911290.16
' ru-RU: 1734231911290,16
'
' -17394.32921:
' en-US: -17394.32921
' fr-FR: -17394,32921
' ja-JP: -17394.32921
' ru-RU: -17394,32921
'
' 3193.23:
' en-US: 3193.23
' fr-FR: 3193,23
' ja-JP: 3193.23
' ru-RU: 3193,23
'
' 98012368321.684:
' en-US: 98012368321.684
' fr-FR: 98012368321,684
' ja-JP: 98012368321.684
' ru-RU: 98012368321,684
備註
這個實作與 相同 Decimal.ToString(IFormatProvider)。
適用於
ToString(Int32, Int32)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將 32 位元帶正負號整數的值,轉換為它在指定之基底中的相等字串表示。
public:
static System::String ^ ToString(int value, int toBase);
public static string ToString (int value, int toBase);
static member ToString : int * int -> string
Public Shared Function ToString (value As Integer, toBase As Integer) As String
參數
- value
- Int32
要轉換的 32 位元帶正負號的整數。
- toBase
- Int32
傳回值的基底,必須是 2、8、10 或 16。
傳回
在基底 value
中 toBase
的字串表示。
例外狀況
toBase
不是 2、8、10 或 16。
範例
下列範例會將整數陣列中的每個項目轉換成其相等的二進位、十六進位、十進位和十六進位字串表示。
int[] bases = { 2, 8, 10, 16};
int[] numbers = { Int32.MinValue, -19327543, -13621, -18, 12,
19142, Int32.MaxValue };
foreach (int baseValue in bases)
{
Console.WriteLine("Base {0} conversion:", baseValue);
foreach (int number in numbers)
{
Console.WriteLine(" {0,-15} --> 0x{1}",
number, Convert.ToString(number, baseValue));
}
}
// The example displays the following output:
// Base 2 conversion:
// -2147483648 --> 0x10000000000000000000000000000000
// -19327543 --> 0x11111110110110010001010111001001
// -13621 --> 0x11111111111111111100101011001011
// -18 --> 0x11111111111111111111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 2147483647 --> 0x1111111111111111111111111111111
// Base 8 conversion:
// -2147483648 --> 0x20000000000
// -19327543 --> 0x37666212711
// -13621 --> 0x37777745313
// -18 --> 0x37777777756
// 12 --> 0x14
// 19142 --> 0x45306
// 2147483647 --> 0x17777777777
// Base 10 conversion:
// -2147483648 --> 0x-2147483648
// -19327543 --> 0x-19327543
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 2147483647 --> 0x2147483647
// Base 16 conversion:
// -2147483648 --> 0x80000000
// -19327543 --> 0xfed915c9
// -13621 --> 0xffffcacb
// -18 --> 0xffffffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 2147483647 --> 0x7fffffff
let bases = [| 2; 8; 10; 16 |]
let numbers =
[| Int32.MinValue; -19327543; -13621; -18; 12; 19142; Int32.MaxValue |]
for baseValue in bases do
printfn $"Base {baseValue} conversion:"
for number in numbers do
printfn $" {number,-15} --> 0x{Convert.ToString(number, baseValue)}"
// The example displays the following output:
// Base 2 conversion:
// -2147483648 --> 0x10000000000000000000000000000000
// -19327543 --> 0x11111110110110010001010111001001
// -13621 --> 0x11111111111111111100101011001011
// -18 --> 0x11111111111111111111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 2147483647 --> 0x1111111111111111111111111111111
// Base 8 conversion:
// -2147483648 --> 0x20000000000
// -19327543 --> 0x37666212711
// -13621 --> 0x37777745313
// -18 --> 0x37777777756
// 12 --> 0x14
// 19142 --> 0x45306
// 2147483647 --> 0x17777777777
// Base 10 conversion:
// -2147483648 --> 0x-2147483648
// -19327543 --> 0x-19327543
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 2147483647 --> 0x2147483647
// Base 16 conversion:
// -2147483648 --> 0x80000000
// -19327543 --> 0xfed915c9
// -13621 --> 0xffffcacb
// -18 --> 0xffffffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 2147483647 --> 0x7fffffff
Dim bases() As Integer = { 2, 8, 10, 16}
Dim numbers() As Integer = { Int32.MinValue, -19327543, -13621, -18, 12, _
19142, Int32.MaxValue }
For Each base As Integer In bases
Console.WriteLine("Base {0} conversion:", base)
For Each number As Integer In numbers
Console.WriteLine(" {0,-15} --> 0x{1}", _
number, Convert.ToString(number, base))
Next
Next
' The example displays the following output:
' Base 2 conversion:
' -2147483648 --> 0x10000000000000000000000000000000
' -19327543 --> 0x11111110110110010001010111001001
' -13621 --> 0x11111111111111111100101011001011
' -18 --> 0x11111111111111111111111111101110
' 12 --> 0x1100
' 19142 --> 0x100101011000110
' 2147483647 --> 0x1111111111111111111111111111111
' Base 8 conversion:
' -2147483648 --> 0x20000000000
' -19327543 --> 0x37666212711
' -13621 --> 0x37777745313
' -18 --> 0x37777777756
' 12 --> 0x14
' 19142 --> 0x45306
' 2147483647 --> 0x17777777777
' Base 10 conversion:
' -2147483648 --> 0x-2147483648
' -19327543 --> 0x-19327543
' -13621 --> 0x-13621
' -18 --> 0x-18
' 12 --> 0x12
' 19142 --> 0x19142
' 2147483647 --> 0x2147483647
' Base 16 conversion:
' -2147483648 --> 0x80000000
' -19327543 --> 0xfed915c9
' -13621 --> 0xffffcacb
' -18 --> 0xffffffee
' 12 --> 0xc
' 19142 --> 0x4ac6
' 2147483647 --> 0x7fffffff
let bases = [2; 8; 10; 16]
let numbers = [ Int32.MinValue; -19327543; -13621; -18; 12; 19142; Int32.MaxValue ]
for baseValue in bases do
printfn "Base %i conversion:" baseValue
for number in numbers do
printfn " % -15i --> 0x%s" number (Convert.ToString (number, baseValue))
// The example displays the following output:
// Base 2 conversion:
// -2147483648 --> 0x10000000000000000000000000000000
// -19327543 --> 0x11111110110110010001010111001001
// -13621 --> 0x11111111111111111100101011001011
// -18 --> 0x11111111111111111111111111101110
// 12 --> 0x1100
// 19142 --> 0x100101011000110
// 2147483647 --> 0x1111111111111111111111111111111
// Base 8 conversion:
// -2147483648 --> 0x20000000000
// -19327543 --> 0x37666212711
// -13621 --> 0x37777745313
// -18 --> 0x37777777756
// 12 --> 0x14
// 19142 --> 0x45306
// 2147483647 --> 0x17777777777
// Base 10 conversion:
// -2147483648 --> 0x-2147483648
// -19327543 --> 0x-19327543
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 19142 --> 0x19142
// 2147483647 --> 0x2147483647
// Base 16 conversion:
// -2147483648 --> 0x80000000
// -19327543 --> 0xfed915c9
// -13621 --> 0xffffcacb
// -18 --> 0xffffffee
// 12 --> 0xc
// 19142 --> 0x4ac6
// 2147483647 --> 0x7fffffff
備註
如果 value
為正數,且 toBase
為 2、8 或 16,則傳回的字串會使用符號和大小表示法。 如果 value
為負數,且 toBase
為 2、8 或 16,則傳回的字串會使用兩個補碼表示法。 這表示最高順序位元組的高序位 (位 31) 會解譯為符號位。
ToString(Int32, Int32)如果呼叫 方法以建立稍後會轉換回數位的字串,則會呼叫假設類似的數值表示法來執行轉換的對應方法。 這類方法包括 Convert.ToInt32(String, Int32) 和 Int32.Parse(String, NumberStyles)。
適用於
ToString(Int16, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
使用指定之特定文化特性格式資訊,將指定之 16 位元帶正負號的整數的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(short value, IFormatProvider ^ provider);
public static string ToString (short value, IFormatProvider provider);
public static string ToString (short value, IFormatProvider? provider);
static member ToString : int16 * IFormatProvider -> string
Public Shared Function ToString (value As Short, provider As IFormatProvider) As String
參數
- value
- Int16
要轉換的 16 位元帶正負號的整數。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
範例
下列範例會定義自定義 NumberFormatInfo 類別,將負號定義為字串 “~”,並將其正負號定義為字串 “!”。 然後它會呼叫 方法, ToString(Int16, IFormatProvider) 將16位整數陣列中的每個元素轉換為其相等的字串表示。 轉換會使用不因文化特性而異,以及自定義 NumberFormatInfo 物件。
short[] numbers = { Int16.MinValue, Int16.MaxValue};
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
foreach (short number in numbers)
Console.WriteLine("{0,-8} --> {1,8}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// -32768 --> ~32768
// 32767 --> 32767
let numbers = [| Int16.MinValue; Int16.MaxValue |]
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-8} --> {Convert.ToString(number, nfi),8}"
// The example displays the following output:
// -32768 --> ~32768
// 32767 --> 32767
Dim numbers() As Short = { Int16.MinValue, Int16.MaxValue}
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
For Each number As Short In numbers
Console.WriteLine("{0,-8} --> {1,8}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
Next
' The example displays the following output:
' -32768 --> ~32768
' 32767 --> 32767
備註
這個實作與 相同 Int16.ToString(IFormatProvider)。
適用於
ToString(Int64, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
使用指定之特定文化特性格式資訊,將指定之 64 位元帶正負號的整數的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(long value, IFormatProvider ^ provider);
public static string ToString (long value, IFormatProvider provider);
public static string ToString (long value, IFormatProvider? provider);
static member ToString : int64 * IFormatProvider -> string
Public Shared Function ToString (value As Long, provider As IFormatProvider) As String
參數
- value
- Int64
要轉換的 64 位元帶正負號的整數。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
範例
下列範例會定義自定義 NumberFormatInfo 類別,將負號定義為字串 “~”,並將其正負號定義為字串 “!”。 然後它會呼叫 方法, ToString(Int64, IFormatProvider) 將長整數數位中的每個項目轉換為其相等的字串表示。 轉換會使用不因文化特性而異,以及自定義 NumberFormatInfo 物件。
long[] numbers = { ((long) Int32.MinValue) * 2, ((long) Int32.MaxValue) * 2};
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
foreach (long number in numbers)
Console.WriteLine("{0,-12} --> {1,12}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// -4294967296 --> ~4294967296
// 4294967294 --> 4294967294
let numbers = [| (int64 Int32.MinValue) * 2L; (int64 Int32.MaxValue) * 2L |]
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-12} --> {Convert.ToString(number, nfi),12}"
// The example displays the following output:
// -4294967296 --> ~4294967296
// 4294967294 --> 4294967294
Dim numbers() As Long = { CLng(Int32.MinValue) * 2, CLng(Int32.MaxValue) * 2 }
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
For Each number As Long In numbers
Console.WriteLine("{0,-12} --> {1,12}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
Next
' The example displays the following output:
' -4294967296 --> ~4294967296
' 4294967294 --> 4294967294
備註
這個實作與 相同 Int64.ToString(IFormatProvider)。
適用於
ToString(Single, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
使用指定之特定文化特性格式資訊,將指定之單精確度浮點數的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(float value, IFormatProvider ^ provider);
public static string ToString (float value, IFormatProvider provider);
public static string ToString (float value, IFormatProvider? provider);
static member ToString : single * IFormatProvider -> string
Public Shared Function ToString (value As Single, provider As IFormatProvider) As String
參數
- value
- Single
要轉換的單精確度浮點數。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
範例
下列範例會將值陣列 Single 中的每個項目,轉換為四個不同文化特性中的對等字串表示。
// Define an array of numbers to display.
float[] numbers = { -1.5345e16f, -123.4321f, 19092.123f, 1.1734231911290e16f };
// Define the culture names used to display them.
string[] cultureNames = { "en-US", "fr-FR", "ja-JP", "ru-RU" };
foreach (float number in numbers)
{
Console.WriteLine("{0}:", Convert.ToString(number,
System.Globalization.CultureInfo.InvariantCulture));
foreach (string cultureName in cultureNames)
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
Console.WriteLine(" {0}: {1,20}",
culture.Name, Convert.ToString(number, culture));
}
Console.WriteLine();
}
// The example displays the following output:
// -1.5345E+16:
// en-US: -1.5345E+16
// fr-FR: -1,5345E+16
// ja-JP: -1.5345E+16
// ru-RU: -1,5345E+16
//
// -123.4321:
// en-US: -123.4321
// fr-FR: -123,4321
// ja-JP: -123.4321
// ru-RU: -123,4321
//
// 19092.123:
// en-US: 19092.123
// fr-FR: 19092,123
// ja-JP: 19092.123
// ru-RU: 19092,123
//
// 1.173423191129E+16:
// en-US: 1.173423191129E+16
// fr-FR: 1,173423191129E+16
// ja-JP: 1.173423191129E+16
// ru-RU: 1,173423191129E+16
// Define an array of numbers to display.
let numbers = [| -1.5345e16f; -123.4321f; 19092.123f; 1.1734231911290e16f |]
// Define the culture names used to display them.
let cultureNames = [| "en-US"; "fr-FR"; "ja-JP"; "ru-RU" |]
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture)}:"
for cultureName in cultureNames do
let culture = CultureInfo cultureName
printfn $" {culture.Name}: {Convert.ToString(number, culture),20}"
printfn ""
// The example displays the following output:
// -1.5345E+16:
// en-US: -1.5345E+16
// fr-FR: -1,5345E+16
// ja-JP: -1.5345E+16
// ru-RU: -1,5345E+16
//
// -123.4321:
// en-US: -123.4321
// fr-FR: -123,4321
// ja-JP: -123.4321
// ru-RU: -123,4321
//
// 19092.123:
// en-US: 19092.123
// fr-FR: 19092,123
// ja-JP: 19092.123
// ru-RU: 19092,123
//
// 1.173423191129E+16:
// en-US: 1.173423191129E+16
// fr-FR: 1,173423191129E+16
// ja-JP: 1.173423191129E+16
// ru-RU: 1,173423191129E+16
' Define an array of numbers to display.
Dim numbers() As Single = { -1.5345e16, -123.4321, 19092.123, _
1.1734231911290e16 }
' Define the culture names used to display them.
Dim cultureNames() As String = { "en-US", "fr-FR", "ja-JP", "ru-RU" }
For Each number As Single In numbers
Console.WriteLine("{0}:", Convert.ToString(number, _
System.Globalization.CultureInfo.InvariantCulture))
For Each cultureName As String In cultureNames
Dim culture As New System.Globalization.CultureInfo(cultureName)
Console.WriteLine(" {0}: {1,20}", _
culture.Name, Convert.ToString(number, culture))
Next
Console.WriteLine()
Next
' The example displays the following output:
' -1.5345E+16:
' en-US: -1.5345E+16
' fr-FR: -1,5345E+16
' ja-JP: -1.5345E+16
' ru-RU: -1,5345E+16
'
' -123.4321:
' en-US: -123.4321
' fr-FR: -123,4321
' ja-JP: -123.4321
' ru-RU: -123,4321
'
' 19092.123:
' en-US: 19092.123
' fr-FR: 19092,123
' ja-JP: 19092.123
' ru-RU: 19092,123
'
' 1.173423191129E+16:
' en-US: 1.173423191129E+16
' fr-FR: 1,173423191129E+16
' ja-JP: 1.173423191129E+16
' ru-RU: 1,173423191129E+16
備註
這個實作與 相同 Single.ToString(IFormatProvider)。
適用於
ToString(Object, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
使用指定之特定文化特性格式資訊,將指定之物件的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::Object ^ value, IFormatProvider ^ provider);
public static string ToString (object value, IFormatProvider provider);
public static string? ToString (object? value, IFormatProvider? provider);
static member ToString : obj * IFormatProvider -> string
Public Shared Function ToString (value As Object, provider As IFormatProvider) As String
參數
- value
- Object
提供要轉換之值的物件,或是 null
。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示;如果 Empty 是值為 value
的物件,則為 null
。 如果 value
是 null
,則方法會傳回 null
。
範例
下列範例會定義覆 Temperature
寫 方法但 Object.ToString 未實作 介面的 IConvertible 類別。 此範例說明如何接著呼叫 Convert.ToString(Object, IFormatProvider)Temperature.ToString
方法。
using System;
public class Temperature
{
private decimal m_Temp;
public Temperature(decimal temperature)
{
this.m_Temp = temperature;
}
public decimal Celsius
{
get { return this.m_Temp; }
}
public decimal Kelvin
{
get { return this.m_Temp + 273.15m; }
}
public decimal Fahrenheit
{
get { return Math.Round((decimal) (this.m_Temp * 9 / 5 + 32), 2); }
}
public override string ToString()
{
return m_Temp.ToString("N2") + " °C";
}
}
public class Example
{
public static void Main()
{
Temperature cold = new Temperature(-40);
Temperature freezing = new Temperature(0);
Temperature boiling = new Temperature(100);
Console.WriteLine(Convert.ToString(cold, null));
Console.WriteLine(Convert.ToString(freezing, null));
Console.WriteLine(Convert.ToString(boiling, null));
}
}
// The example dosplays the following output:
// -40.00 °C
// 0.00 °C
// 100.00 °C
open System
type Temperature(temperature: decimal) =
member _.Celsius =
temperature
member _.Kelvin =
temperature + 273.15m
member _.Fahrenheit =
Math.Round(temperature * 9m / 5m + 32m |> decimal, 2)
override _.ToString() =
temperature.ToString("N2") + " °C"
let cold = Temperature -40
let freezing = Temperature 0
let boiling = Temperature 100
printfn $"{Convert.ToString(cold, null)}"
printfn $"{Convert.ToString(freezing, null)}"
printfn $"{Convert.ToString(boiling, null)}"
// The example dosplays the following output:
// -40.00 °C
// 0.00 °C
// 100.00 °C
Public Class Temperature
Private m_Temp As Decimal
Public Sub New(temperature As Decimal)
Me.m_Temp = temperature
End Sub
Public ReadOnly Property Celsius() As Decimal
Get
Return Me.m_Temp
End Get
End Property
Public ReadOnly Property Kelvin() As Decimal
Get
Return Me.m_Temp + 273.15d
End Get
End Property
Public ReadOnly Property Fahrenheit() As Decimal
Get
Return Math.Round(CDec(Me.m_Temp * 9 / 5 + 32), 2)
End Get
End Property
Public Overrides Function ToString() As String
Return m_Temp.ToString("N2") & " °C"
End Function
End Class
Module Example
Public Sub Main()
Dim cold As New Temperature(-40)
Dim freezing As New Temperature(0)
Dim boiling As New Temperature(100)
Console.WriteLine(Convert.ToString(cold, Nothing))
Console.WriteLine(Convert.ToString(freezing, Nothing))
Console.WriteLine(Convert.ToString(boiling, Nothing))
End Sub
End Module
' The example displays the following output:
' -40.00 °C
' 0.00 °C
' 100.00 °C
下列範例會定義實 Temperature
作 介面但 IFormattable 未實作 介面的 IConvertible 類別。 其 IFormattable.ToString 實作會 Temperature
根據格式字串,以攝氏、華氏或 Kelvin 表示值。 此範例也會定義實TemperatureProvider
作的類別IFormatProvider,並提供 類別實Temperature
作所使用的IFormattable隨機產生的格式字串。
using System;
public class Temperature : IFormattable
{
private decimal m_Temp;
public Temperature(decimal temperature)
{
this.m_Temp = temperature;
}
public decimal Celsius
{ get { return this.m_Temp; } }
public decimal Kelvin
{ get { return this.m_Temp + 273.15m; } }
public decimal Fahrenheit
{ get { return Math.Round(this.m_Temp * 9m / 5m + 32m, 2); } }
public override String ToString()
{
return ToString("G", null);
}
public String ToString(String fmt, IFormatProvider provider)
{
TemperatureProvider formatter = null;
if (provider != null)
formatter = provider.GetFormat(typeof(TemperatureProvider))
as TemperatureProvider;
if (String.IsNullOrWhiteSpace(fmt)) {
if (formatter != null)
fmt = formatter.Format;
else
fmt = "G";
}
switch (fmt.ToUpper()) {
case "G":
case "C":
return m_Temp.ToString("N2") + " °C";
case "F":
return Fahrenheit.ToString("N2") + " °F";
case "K":
return Kelvin.ToString("N2") + " K";
default:
throw new FormatException(String.Format("'{0}' is not a valid format specifier.", fmt));
}
}
}
public class TemperatureProvider : IFormatProvider
{
private String[] fmtStrings = { "C", "G", "F", "K" };
private Random rnd = new Random();
public Object GetFormat(Type formatType)
{
return this;
}
public String Format
{ get { return fmtStrings[rnd.Next(0, fmtStrings.Length)]; } }
}
public class Example
{
public static void Main()
{
Temperature cold = new Temperature (-40);
Temperature freezing = new Temperature (0);
Temperature boiling = new Temperature (100);
TemperatureProvider tp = new TemperatureProvider();
Console.WriteLine(Convert.ToString(cold, tp));
Console.WriteLine(Convert.ToString(freezing, tp));
Console.WriteLine(Convert.ToString(boiling, tp));
}
}
// The example displays output like the following:
// -40.00 °C
// 273.15 K
// 100.00 °C
open System
[<AllowNullLiteral>]
type TemperatureProvider() =
let fmtStrings = [| "C"; "G"; "F"; "K" |]
let rnd = Random()
member _.Format =
fmtStrings[rnd.Next(0, fmtStrings.Length)]
interface IFormatProvider with
member this.GetFormat(formatType: Type) =
this
type Temperature(temperature: decimal) =
member _.Celsius =
temperature
member _.Kelvin =
temperature + 273.15m
member _.Fahrenheit =
Math.Round(temperature * 9m / 5m + 32m, 2)
override this.ToString() =
this.ToString("G", null)
member this.ToString(fmt: string, provider: IFormatProvider) =
let formatter =
match provider with
| null -> null
| _ ->
match provider.GetFormat typeof<TemperatureProvider> with
| :? TemperatureProvider as x -> x
| _ -> null
let fmt =
if String.IsNullOrWhiteSpace fmt then
if formatter <> null then
formatter.Format
else
"G"
else fmt
match fmt.ToUpper() with
| "G"
| "C" ->
$"{temperature:N2} °C"
| "F" ->
$"{this.Fahrenheit:N2} °F"
| "K" ->
$"{this.Kelvin:N2} K"
| _ ->
raise (FormatException $"'{fmt}' is not a valid format specifier.")
let cold = Temperature -40
let freezing = Temperature 0
let boiling = Temperature 100
let tp = TemperatureProvider()
printfn $"{Convert.ToString(cold, tp)}"
printfn $"{Convert.ToString(freezing, tp)}"
printfn $"{Convert.ToString(boiling, tp)}"
// The example displays output like the following:
// -40.00 °C
// 273.15 K
// 100.00 °C
Public Class Temperature : Implements IFormattable
Private m_Temp As Decimal
Public Sub New(temperature As Decimal)
Me.m_Temp = temperature
End Sub
Public ReadOnly Property Celsius As Decimal
Get
Return Me.m_Temp
End Get
End Property
Public ReadOnly Property Kelvin As Decimal
Get
Return Me.m_Temp + 273.15d
End Get
End Property
Public ReadOnly Property Fahrenheit As Decimal
Get
Return Math.Round(CDec(Me.m_Temp * 9 / 5 + 32), 2)
End Get
End Property
Public Overrides Function ToString() As String
Return ToString("G", Nothing)
End Function
Public Overloads Function ToString(fmt As String,
provider As IFormatProvider) As String _
Implements IFormattable.ToString
Dim formatter As TemperatureProvider = Nothing
If provider IsNot Nothing Then formatter = TryCast(provider.GetFormat(GetType(TemperatureProvider)),
TemperatureProvider)
If String.IsNullOrWhiteSpace(fmt) Then
If formatter IsNot Nothing Then
fmt = formatter.Format
Else
fmt = "G"
End If
End If
Select Case fmt.ToUpper()
Case "G", "C"
Return m_Temp.ToString("N2") & " °C"
Case "F"
Return Fahrenheit.ToString("N2") + " °F"
Case "K"
Return Kelvin.ToString("N2") + " K"
Case Else
Throw New FormatException(String.Format("'{0}' is not a valid format specifier.", fmt))
End Select
End Function
End Class
Public Class TemperatureProvider : Implements IFormatProvider
Private fmtStrings() As String = { "C", "G", "F", "K" }
Private rnd As New Random()
Public Function GetFormat(formatType As Type) As Object _
Implements IFormatProvider.GetFormat
Return Me
End Function
Public ReadOnly Property Format As String
Get
Return fmtStrings(rnd.Next(0, fmtStrings.Length))
End Get
End Property
End Class
Module Example
Public Sub Main()
Dim cold As New Temperature(-40)
Dim freezing As New Temperature(0)
Dim boiling As New Temperature(100)
Dim tp As New TemperatureProvider()
Console.WriteLine(Convert.ToString(cold, tp))
Console.WriteLine(Convert.ToString(freezing, tp))
Console.WriteLine(Convert.ToString(boiling, tp))
End Sub
End Module
' The example displays output like the following:
' -40.00 °C
' 273.15 K
' 100.00 °C
備註
value
如果參數實作 IConvertible 介面,方法會呼叫 IConvertible.ToString(IFormatProvider) 的實作value
。 否則,如果 value
參數實作 IFormattable 介面,方法會呼叫其 IFormattable.ToString(String, IFormatProvider) 實作。 如果 value
實作這兩個介面,則方法會呼叫 value
參數的 ToString()
方法,並 provider
忽略 參數。
如果 參數實作 IConvertible 或 IFormattable 介面,value
則會provider
使用 參數。 參數最常見的用法 provider
是指定 轉換 value
時所使用的特定文化特性資訊。 例如,如果 value
參數是負數十進位數, provider
則參數可以提供用於負號和小數分隔符之表示法的文化特性特定資訊。 下一節的第二個範例說明不提供區分文化特性之格式資訊的格式提供者。
適用於
ToString(SByte, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
重要
此 API 不符合 CLS 規範。
使用指定之特定文化特性格式資訊,將指定之 8 位元帶正負號的整數的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::SByte value, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static string ToString (sbyte value, IFormatProvider provider);
[System.CLSCompliant(false)]
public static string ToString (sbyte value, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member ToString : sbyte * IFormatProvider -> string
Public Shared Function ToString (value As SByte, provider As IFormatProvider) As String
參數
- value
- SByte
要轉換的 8 位元帶正負號的整數。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
- 屬性
範例
下列範例會定義自定義 NumberFormatInfo 類別,將負號定義為字串 “~”,並將其正負號定義為字串 “!”。 然後它會呼叫 方法, Convert.ToString(SByte, IFormatProvider) 將帶正負號位元組陣列中的每個項目轉換為其相等的字串表示。 轉換會使用不因文化特性而異,以及自定義 NumberFormatInfo 物件。
sbyte[] numbers = { SByte.MinValue, -12, 17, SByte.MaxValue};
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
foreach (sbyte number in numbers)
Console.WriteLine(Convert.ToString(number, nfi));
// The example displays the following output:
// ~128
// ~12
// 17
// 127
let numbers = [| SByte.MinValue; -12y; 17y; SByte.MaxValue |]
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
for number in numbers do
printfn $"{Convert.ToString(number, nfi)}"
// The example displays the following output:
// ~128
// ~12
// 17
// 127
Dim numbers() As SByte = { SByte.MinValue, -12, 17, SByte.MaxValue}
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
For Each number As SByte In numbers
Console.WriteLine(Convert.ToString(number, nfi))
Next
' The example displays the following output:
' ~128
' ~12
' 17
' 127
備註
這個實作與 相同 SByte.ToString(IFormatProvider)。
適用於
ToString(String, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
傳回指定的字串執行個體,不執行實際的轉換。
public:
static System::String ^ ToString(System::String ^ value, IFormatProvider ^ provider);
public static string? ToString (string? value, IFormatProvider? provider);
public static string ToString (string value, IFormatProvider provider);
static member ToString : string * IFormatProvider -> string
Public Shared Function ToString (value As String, provider As IFormatProvider) As String
參數
- value
- String
要傳回的字串。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。 這個參數已忽略。
傳回
value
會原封不動地傳回。
範例
下列範例會 ToString
使用 String 參數呼叫 方法。 方法會傳回未修改的 String ,而不參考 IFormatProvider 物件。
// Example of Convert::ToString( non-numeric types, IFormatProvider ).
using namespace System;
using namespace System::Globalization;
#define null (Object^)0
// An instance of this class can be passed to methods that require
// an IFormatProvider.
ref class DummyProvider: public IFormatProvider
{
public:
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
virtual Object^ GetFormat( Type^ argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console::Write( "{0,-40}", argType->ToString() );
return null;
}
};
int main()
{
// Create an instance of the IFormatProvider.
DummyProvider^ provider = gcnew DummyProvider;
String^ converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
Object^ ObjDouble = -98765.4321;
DateTime DayTimeA = DateTime(2001,9,11,13,45,0);
bool BoolA = true;
String^ StringA = "Qwerty";
Char CharA = '$';
TimeSpan TSpanA = TimeSpan(0,18,0);
Object^ ObjOther = static_cast<Object^>(provider);
Console::WriteLine( "This example of "
"Convert::ToString( non-numeric, IFormatProvider* ) \n"
"generates the following output. The provider type, "
"argument type, \nand argument value are displayed." );
Console::WriteLine( "\nNote: The IFormatProvider object is "
"not called for Boolean, String, \nChar, TimeSpan, "
"and non-numeric Object." );
// The format provider is called for these conversions.
Console::WriteLine();
converted = Convert::ToString( Int32A, provider );
Console::WriteLine( "int {0}", converted );
converted = Convert::ToString( DoubleA, provider );
Console::WriteLine( "double {0}", converted );
converted = Convert::ToString( ObjDouble, provider );
Console::WriteLine( "Object {0}", converted );
converted = Convert::ToString( DayTimeA, provider );
Console::WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console::WriteLine();
converted = Convert::ToString( BoolA, provider );
Console::WriteLine( "bool {0}", converted );
converted = Convert::ToString( StringA, provider );
Console::WriteLine( "String {0}", converted );
converted = Convert::ToString( CharA, provider );
Console::WriteLine( "Char {0}", converted );
converted = Convert::ToString( TSpanA, provider );
Console::WriteLine( "TimeSpan {0}", converted );
converted = Convert::ToString( ObjOther, provider );
Console::WriteLine( "Object {0}", converted );
}
/*
This example of Convert::ToString( non-numeric, IFormatProvider* )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo Object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
String Qwerty
Char $
TimeSpan 00:18:00
Object DummyProvider
*/
// Example of Convert.ToString( non-numeric types, IFormatProvider ).
using System;
using System.Globalization;
// An instance of this class can be passed to methods that require
// an IFormatProvider.
public class DummyProvider : IFormatProvider
{
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
public object GetFormat( Type argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) );
return null;
}
}
class ConvertNonNumericProviderDemo
{
static void Main( )
{
// Create an instance of the IFormatProvider.
DummyProvider provider = new DummyProvider( );
string converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
object ObjDouble = (object)( -98765.4321 );
DateTime DayTimeA = new DateTime( 2001, 9, 11, 13, 45, 0 );
bool BoolA = true;
string StringA = "Qwerty";
char CharA = '$';
TimeSpan TSpanA = new TimeSpan( 0, 18, 0 );
object ObjOther = (object)provider;
Console.WriteLine( "This example of " +
"Convert.ToString( non-numeric, IFormatProvider ) \n" +
"generates the following output. The provider type, " +
"argument type, \nand argument value are displayed." );
Console.WriteLine( "\nNote: The IFormatProvider object is " +
"not called for Boolean, String, \nChar, TimeSpan, " +
"and non-numeric Object." );
// The format provider is called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( Int32A, provider );
Console.WriteLine( "int {0}", converted );
converted = Convert.ToString( DoubleA, provider );
Console.WriteLine( "double {0}", converted );
converted = Convert.ToString( ObjDouble, provider );
Console.WriteLine( "object {0}", converted );
converted = Convert.ToString( DayTimeA, provider );
Console.WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( BoolA, provider );
Console.WriteLine( "bool {0}", converted );
converted = Convert.ToString( StringA, provider );
Console.WriteLine( "string {0}", converted );
converted = Convert.ToString( CharA, provider );
Console.WriteLine( "char {0}", converted );
converted = Convert.ToString( TSpanA, provider );
Console.WriteLine( "TimeSpan {0}", converted );
converted = Convert.ToString( ObjOther, provider );
Console.WriteLine( "object {0}", converted );
}
}
/*
This example of Convert.ToString( non-numeric, IFormatProvider )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
string Qwerty
char $
TimeSpan 00:18:00
object DummyProvider
*/
// Example of Convert.ToString(non-numeric types, IFormatProvider).
open System
open System.Globalization
// Create an instance of the IFormatProvider with an object expression.
let provider =
{ new IFormatProvider with
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
member _.GetFormat(argType: Type) =
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
printf $"{argType,-40}"
null
}
// Convert these values using DummyProvider.
let Int32A = -252645135
let DoubleA = 61680.3855
let ObjDouble = -98765.4321 :> obj
let DayTimeA = DateTime(2001, 9, 11, 13, 45, 0)
let BoolA = true
let StringA = "Qwerty"
let CharA = '$'
let TSpanA = TimeSpan(0, 18, 0)
let ObjOther = provider :> obj
[<EntryPoint>]
let main _ =
printfn
"""This example of Convert.ToString(non-numeric, IFormatProvider)
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object."""
// The format provider is called for these conversions.
printfn ""
let converted = Convert.ToString(Int32A, provider)
printfn $"int {converted}"
let converted = Convert.ToString(DoubleA, provider)
printfn $"double {converted}"
let converted = Convert.ToString(ObjDouble, provider)
printfn $"object {converted}"
let converted = Convert.ToString(DayTimeA, provider)
printfn $"DateTime {converted}"
// The format provider is not called for these conversions.
printfn ""
let converted = Convert.ToString(BoolA, provider)
printfn $"bool {converted}"
let converted = Convert.ToString(StringA, provider)
printfn $"string {converted}"
let converted = Convert.ToString(CharA, provider)
printfn $"char {converted}"
let converted = Convert.ToString(TSpanA, provider)
printfn $"TimeSpan {converted}"
let converted = Convert.ToString(ObjOther, provider)
printfn $"object {converted}"
0
// This example of Convert.ToString(non-numeric, IFormatProvider)
// generates the following output. The provider type, argument type,
// and argument value are displayed.
//
// Note: The IFormatProvider object is not called for Boolean, String,
// Char, TimeSpan, and non-numeric Object.
//
// System.Globalization.NumberFormatInfo int -252645135
// System.Globalization.NumberFormatInfo double 61680.3855
// System.Globalization.NumberFormatInfo object -98765.4321
// System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
//
// bool True
// string Qwerty
// char $
// TimeSpan 00:18:00
// object DummyProvider
' Example of Convert.ToString( non-numeric types, IFormatProvider ).
Imports System.Globalization
' An instance of this class can be passed to methods that require
' an IFormatProvider.
Public Class DummyProvider
Implements IFormatProvider
' Normally, GetFormat returns an object of the requested type
' (usually itself) if it is able; otherwise, it returns Nothing.
Public Function GetFormat( argType As Type ) As Object _
Implements IFormatProvider.GetFormat
' Here, the type of argType is displayed, and GetFormat
' always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) )
Return Nothing
End Function
End Class
Module ConvertNonNumericProviderDemo
Sub Main( )
' Create an instance of the IFormatProvider.
Dim provider As New DummyProvider( )
Dim converted As String
' Convert these values using DummyProvider.
Dim Int32A As Integer = -252645135
Dim DoubleA As Double = 61680.3855
Dim ObjDouble As Object = CType( -98765.4321, Object )
Dim DayTimeA As DateTime = _
new DateTime( 2001, 9, 11, 13, 45, 0 )
Dim BoolA As Boolean = True
Dim StringA As String = "Qwerty"
Dim CharA As Char = "$"c
Dim TSpanA As TimeSpan = New TimeSpan( 0, 18, 0 )
Dim ObjOther As Object = CType( provider, Object )
Console.WriteLine( "This example of " & _
"Convert.ToString( non-numeric, IFormatProvider ) " & _
vbCrLf & "generates the following output. The " & _
"provider type, argument type, " & vbCrLf & "and " & _
"argument value are displayed." )
Console.WriteLine( vbCrLf & _
"Note: The IFormatProvider object is not called for " & _
"Boolean, String, " & vbCrLf & "Char, TimeSpan, " & _
"and non-numeric Object." )
' The format provider is called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( Int32A, provider )
Console.WriteLine( "Int32 {0}", converted )
converted = Convert.ToString( DoubleA, provider )
Console.WriteLine( "Double {0}", converted )
converted = Convert.ToString( ObjDouble, provider )
Console.WriteLine( "Object {0}", converted )
converted = Convert.ToString( DayTimeA, provider )
Console.WriteLine( "DateTime {0}", converted )
' The format provider is not called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( BoolA, provider )
Console.WriteLine( "Boolean {0}", converted )
converted = Convert.ToString( StringA, provider )
Console.WriteLine( "String {0}", converted )
converted = Convert.ToString( CharA, provider )
Console.WriteLine( "Char {0}", converted )
converted = Convert.ToString( TSpanA, provider )
Console.WriteLine( "TimeSpan {0}", converted )
converted = Convert.ToString( ObjOther, provider )
Console.WriteLine( "Object {0}", converted )
End Sub
End Module
' This example of Convert.ToString( non-numeric, IFormatProvider )
' generates the following output. The provider type, argument type,
' and argument value are displayed.
'
' Note: The IFormatProvider object is not called for Boolean, String,
' Char, TimeSpan, and non-numeric Object.
'
' System.Globalization.NumberFormatInfo Int32 -252645135
' System.Globalization.NumberFormatInfo Double 61680.3855
' System.Globalization.NumberFormatInfo Object -98765.4321
' System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
'
' Boolean True
' String Qwerty
' Char $
' TimeSpan 00:18:00
' Object DummyProvider
適用於
ToString(UInt16, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
重要
此 API 不符合 CLS 規範。
使用指定之特定文化特性格式資訊,將指定之 16 位元不帶正負號的整數的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::UInt16 value, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static string ToString (ushort value, IFormatProvider provider);
[System.CLSCompliant(false)]
public static string ToString (ushort value, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member ToString : uint16 * IFormatProvider -> string
Public Shared Function ToString (value As UShort, provider As IFormatProvider) As String
參數
- value
- UInt16
要轉換之 16 位元不帶正負號的整數。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
- 屬性
範例
下列範例會定義自定義 NumberFormatInfo 類別,將負號定義為字串 “~”,並將其正負號定義為字串 “!”。 然後它會呼叫 方法, ToString(UInt16, IFormatProvider) 將16位無符號整數值轉換為其相等的字串表示。 轉換會同時使用不可變的文化特性和自定義 NumberFormatInfo 物件。 輸出表示不會使用此格式資訊,因為根據預設,“G” 格式規範不包含具有正值的正負號。
ushort number = UInt16.MaxValue;
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
Console.WriteLine("{0,-6} --> {1,6}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// 65535 --> 65535
let number = UInt16.MaxValue
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-6} --> {Convert.ToString(number, nfi),6}"
// The example displays the following output:
// 65535 --> 65535
Dim number As UShort = UInt16.MaxValue
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
Console.WriteLine("{0,-6} --> {1,6}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
' The example displays the following output:
' 65535 --> 65535
備註
這個實作與 相同 UInt16.ToString(IFormatProvider)。
適用於
ToString(UInt32, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
重要
此 API 不符合 CLS 規範。
使用指定之特定文化特性格式資訊,將指定之 32 位元不帶正負號的整數的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::UInt32 value, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static string ToString (uint value, IFormatProvider provider);
[System.CLSCompliant(false)]
public static string ToString (uint value, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member ToString : uint32 * IFormatProvider -> string
Public Shared Function ToString (value As UInteger, provider As IFormatProvider) As String
參數
- value
- UInt32
要轉換之 32 位元不帶正負號的整數。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
- 屬性
範例
下列範例會定義自定義 NumberFormatInfo 類別,將負號定義為字串 “~”,並將其正負號定義為字串 “!”。 然後它會呼叫 方法, ToString(UInt32, IFormatProvider) 將不帶正負號的整數值轉換為其相等的字串表示。 轉換會同時使用不可變的文化特性和自定義 NumberFormatInfo 物件。 輸出表示不會使用此格式資訊,因為根據預設,“G” 格式規範不包含具有正值的正負號。
uint number = UInt32.MaxValue;
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
Console.WriteLine("{0,-8} --> {1,8}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// 4294967295 --> 4294967295
let number = UInt32.MaxValue
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-8} --> {Convert.ToString(number, nfi),8}"
// The example displays the following output:
// 4294967295 --> 4294967295
Dim number As UInteger = UInt32.MaxValue
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
Console.WriteLine("{0,-8} --> {1,8}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
' The example displays the following output:
' 4294967295 --> 4294967295
備註
這個實作與 相同 UInt32.ToString(IFormatProvider)。
適用於
ToString(UInt64, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
重要
此 API 不符合 CLS 規範。
使用指定之特定文化特性格式資訊,將指定之 64 位元不帶正負號的整數的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::UInt64 value, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static string ToString (ulong value, IFormatProvider provider);
[System.CLSCompliant(false)]
public static string ToString (ulong value, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member ToString : uint64 * IFormatProvider -> string
Public Shared Function ToString (value As ULong, provider As IFormatProvider) As String
參數
- value
- UInt64
要轉換之 64 位元不帶正負號的整數。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
- 屬性
範例
下列範例會定義自定義 NumberFormatInfo 類別,將負號定義為字串 “~”,並將其正負號定義為字串 “!”。 然後它會呼叫 方法, ToString(UInt64, IFormatProvider) 將不帶正負號的長整數值轉換為其相等的字串表示。 轉換會同時使用不可變的文化特性和自定義 NumberFormatInfo 物件。 輸出表示不會使用此格式資訊,因為根據預設,“G” 格式規範不包含具有正值的正負號。
ulong number = UInt64.MaxValue;
System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NegativeSign = "~";
nfi.PositiveSign = "!";
Console.WriteLine("{0,-12} --> {1,12}",
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture),
Convert.ToString(number, nfi));
// The example displays the following output:
// 18446744073709551615 --> 18446744073709551615
let number = UInt64.MaxValue
let nfi = NumberFormatInfo()
nfi.NegativeSign <- "~"
nfi.PositiveSign <- "!"
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture),-12} --> {Convert.ToString(number, nfi),12}"
// The example displays the following output:
// 18446744073709551615 --> 18446744073709551615
Dim number As ULong = UInt64.MaxValue
Dim nfi As New System.Globalization.NumberFormatInfo()
nfi.NegativeSign = "~"
nfi.PositiveSign = "!"
Console.WriteLine("{0,-12} --> {1,12}", _
Convert.ToString(number, System.Globalization.CultureInfo.InvariantCulture), _
Convert.ToString(number, nfi))
' The example displays the following output:
' 18446744073709551615 --> 18446744073709551615
備註
這個實作與 相同 UInt64.ToString(IFormatProvider)。
適用於
ToString(Char, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
使用指定之特定文化特性格式資訊,將指定之 Unicode 字元的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(char value, IFormatProvider ^ provider);
public static string ToString (char value, IFormatProvider provider);
public static string ToString (char value, IFormatProvider? provider);
static member ToString : char * IFormatProvider -> string
Public Shared Function ToString (value As Char, provider As IFormatProvider) As String
參數
- value
- Char
要轉換的 Unicode 字元。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。 這個參數已忽略。
傳回
value
的字串表示。
範例
下列範例會Char使用 物件,將 IFormatProvider 值轉換成 String 與 ToString
方法,該物件會顯示呼叫其格式提供者的類型。 此範例顯示 IFormatProvider 物件未參考。
// Example of Convert::ToString( non-numeric types, IFormatProvider ).
using namespace System;
using namespace System::Globalization;
#define null (Object^)0
// An instance of this class can be passed to methods that require
// an IFormatProvider.
ref class DummyProvider: public IFormatProvider
{
public:
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
virtual Object^ GetFormat( Type^ argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console::Write( "{0,-40}", argType->ToString() );
return null;
}
};
int main()
{
// Create an instance of the IFormatProvider.
DummyProvider^ provider = gcnew DummyProvider;
String^ converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
Object^ ObjDouble = -98765.4321;
DateTime DayTimeA = DateTime(2001,9,11,13,45,0);
bool BoolA = true;
String^ StringA = "Qwerty";
Char CharA = '$';
TimeSpan TSpanA = TimeSpan(0,18,0);
Object^ ObjOther = static_cast<Object^>(provider);
Console::WriteLine( "This example of "
"Convert::ToString( non-numeric, IFormatProvider* ) \n"
"generates the following output. The provider type, "
"argument type, \nand argument value are displayed." );
Console::WriteLine( "\nNote: The IFormatProvider object is "
"not called for Boolean, String, \nChar, TimeSpan, "
"and non-numeric Object." );
// The format provider is called for these conversions.
Console::WriteLine();
converted = Convert::ToString( Int32A, provider );
Console::WriteLine( "int {0}", converted );
converted = Convert::ToString( DoubleA, provider );
Console::WriteLine( "double {0}", converted );
converted = Convert::ToString( ObjDouble, provider );
Console::WriteLine( "Object {0}", converted );
converted = Convert::ToString( DayTimeA, provider );
Console::WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console::WriteLine();
converted = Convert::ToString( BoolA, provider );
Console::WriteLine( "bool {0}", converted );
converted = Convert::ToString( StringA, provider );
Console::WriteLine( "String {0}", converted );
converted = Convert::ToString( CharA, provider );
Console::WriteLine( "Char {0}", converted );
converted = Convert::ToString( TSpanA, provider );
Console::WriteLine( "TimeSpan {0}", converted );
converted = Convert::ToString( ObjOther, provider );
Console::WriteLine( "Object {0}", converted );
}
/*
This example of Convert::ToString( non-numeric, IFormatProvider* )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo Object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
String Qwerty
Char $
TimeSpan 00:18:00
Object DummyProvider
*/
// Example of Convert.ToString( non-numeric types, IFormatProvider ).
using System;
using System.Globalization;
// An instance of this class can be passed to methods that require
// an IFormatProvider.
public class DummyProvider : IFormatProvider
{
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
public object GetFormat( Type argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) );
return null;
}
}
class ConvertNonNumericProviderDemo
{
static void Main( )
{
// Create an instance of the IFormatProvider.
DummyProvider provider = new DummyProvider( );
string converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
object ObjDouble = (object)( -98765.4321 );
DateTime DayTimeA = new DateTime( 2001, 9, 11, 13, 45, 0 );
bool BoolA = true;
string StringA = "Qwerty";
char CharA = '$';
TimeSpan TSpanA = new TimeSpan( 0, 18, 0 );
object ObjOther = (object)provider;
Console.WriteLine( "This example of " +
"Convert.ToString( non-numeric, IFormatProvider ) \n" +
"generates the following output. The provider type, " +
"argument type, \nand argument value are displayed." );
Console.WriteLine( "\nNote: The IFormatProvider object is " +
"not called for Boolean, String, \nChar, TimeSpan, " +
"and non-numeric Object." );
// The format provider is called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( Int32A, provider );
Console.WriteLine( "int {0}", converted );
converted = Convert.ToString( DoubleA, provider );
Console.WriteLine( "double {0}", converted );
converted = Convert.ToString( ObjDouble, provider );
Console.WriteLine( "object {0}", converted );
converted = Convert.ToString( DayTimeA, provider );
Console.WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( BoolA, provider );
Console.WriteLine( "bool {0}", converted );
converted = Convert.ToString( StringA, provider );
Console.WriteLine( "string {0}", converted );
converted = Convert.ToString( CharA, provider );
Console.WriteLine( "char {0}", converted );
converted = Convert.ToString( TSpanA, provider );
Console.WriteLine( "TimeSpan {0}", converted );
converted = Convert.ToString( ObjOther, provider );
Console.WriteLine( "object {0}", converted );
}
}
/*
This example of Convert.ToString( non-numeric, IFormatProvider )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
string Qwerty
char $
TimeSpan 00:18:00
object DummyProvider
*/
// Example of Convert.ToString(non-numeric types, IFormatProvider).
open System
open System.Globalization
// Create an instance of the IFormatProvider with an object expression.
let provider =
{ new IFormatProvider with
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
member _.GetFormat(argType: Type) =
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
printf $"{argType,-40}"
null
}
// Convert these values using DummyProvider.
let Int32A = -252645135
let DoubleA = 61680.3855
let ObjDouble = -98765.4321 :> obj
let DayTimeA = DateTime(2001, 9, 11, 13, 45, 0)
let BoolA = true
let StringA = "Qwerty"
let CharA = '$'
let TSpanA = TimeSpan(0, 18, 0)
let ObjOther = provider :> obj
[<EntryPoint>]
let main _ =
printfn
"""This example of Convert.ToString(non-numeric, IFormatProvider)
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object."""
// The format provider is called for these conversions.
printfn ""
let converted = Convert.ToString(Int32A, provider)
printfn $"int {converted}"
let converted = Convert.ToString(DoubleA, provider)
printfn $"double {converted}"
let converted = Convert.ToString(ObjDouble, provider)
printfn $"object {converted}"
let converted = Convert.ToString(DayTimeA, provider)
printfn $"DateTime {converted}"
// The format provider is not called for these conversions.
printfn ""
let converted = Convert.ToString(BoolA, provider)
printfn $"bool {converted}"
let converted = Convert.ToString(StringA, provider)
printfn $"string {converted}"
let converted = Convert.ToString(CharA, provider)
printfn $"char {converted}"
let converted = Convert.ToString(TSpanA, provider)
printfn $"TimeSpan {converted}"
let converted = Convert.ToString(ObjOther, provider)
printfn $"object {converted}"
0
// This example of Convert.ToString(non-numeric, IFormatProvider)
// generates the following output. The provider type, argument type,
// and argument value are displayed.
//
// Note: The IFormatProvider object is not called for Boolean, String,
// Char, TimeSpan, and non-numeric Object.
//
// System.Globalization.NumberFormatInfo int -252645135
// System.Globalization.NumberFormatInfo double 61680.3855
// System.Globalization.NumberFormatInfo object -98765.4321
// System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
//
// bool True
// string Qwerty
// char $
// TimeSpan 00:18:00
// object DummyProvider
' Example of Convert.ToString( non-numeric types, IFormatProvider ).
Imports System.Globalization
' An instance of this class can be passed to methods that require
' an IFormatProvider.
Public Class DummyProvider
Implements IFormatProvider
' Normally, GetFormat returns an object of the requested type
' (usually itself) if it is able; otherwise, it returns Nothing.
Public Function GetFormat( argType As Type ) As Object _
Implements IFormatProvider.GetFormat
' Here, the type of argType is displayed, and GetFormat
' always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) )
Return Nothing
End Function
End Class
Module ConvertNonNumericProviderDemo
Sub Main( )
' Create an instance of the IFormatProvider.
Dim provider As New DummyProvider( )
Dim converted As String
' Convert these values using DummyProvider.
Dim Int32A As Integer = -252645135
Dim DoubleA As Double = 61680.3855
Dim ObjDouble As Object = CType( -98765.4321, Object )
Dim DayTimeA As DateTime = _
new DateTime( 2001, 9, 11, 13, 45, 0 )
Dim BoolA As Boolean = True
Dim StringA As String = "Qwerty"
Dim CharA As Char = "$"c
Dim TSpanA As TimeSpan = New TimeSpan( 0, 18, 0 )
Dim ObjOther As Object = CType( provider, Object )
Console.WriteLine( "This example of " & _
"Convert.ToString( non-numeric, IFormatProvider ) " & _
vbCrLf & "generates the following output. The " & _
"provider type, argument type, " & vbCrLf & "and " & _
"argument value are displayed." )
Console.WriteLine( vbCrLf & _
"Note: The IFormatProvider object is not called for " & _
"Boolean, String, " & vbCrLf & "Char, TimeSpan, " & _
"and non-numeric Object." )
' The format provider is called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( Int32A, provider )
Console.WriteLine( "Int32 {0}", converted )
converted = Convert.ToString( DoubleA, provider )
Console.WriteLine( "Double {0}", converted )
converted = Convert.ToString( ObjDouble, provider )
Console.WriteLine( "Object {0}", converted )
converted = Convert.ToString( DayTimeA, provider )
Console.WriteLine( "DateTime {0}", converted )
' The format provider is not called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( BoolA, provider )
Console.WriteLine( "Boolean {0}", converted )
converted = Convert.ToString( StringA, provider )
Console.WriteLine( "String {0}", converted )
converted = Convert.ToString( CharA, provider )
Console.WriteLine( "Char {0}", converted )
converted = Convert.ToString( TSpanA, provider )
Console.WriteLine( "TimeSpan {0}", converted )
converted = Convert.ToString( ObjOther, provider )
Console.WriteLine( "Object {0}", converted )
End Sub
End Module
' This example of Convert.ToString( non-numeric, IFormatProvider )
' generates the following output. The provider type, argument type,
' and argument value are displayed.
'
' Note: The IFormatProvider object is not called for Boolean, String,
' Char, TimeSpan, and non-numeric Object.
'
' System.Globalization.NumberFormatInfo Int32 -252645135
' System.Globalization.NumberFormatInfo Double 61680.3855
' System.Globalization.NumberFormatInfo Object -98765.4321
' System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
'
' Boolean True
' String Qwerty
' Char $
' TimeSpan 00:18:00
' Object DummyProvider
備註
這個實作與 相同 Char.ToString()。
provider
參數已忽略。
適用於
ToString(Int64, Int32)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將 64 位元帶正負號整數的值,轉換為它在指定之基底中的相等字串表示。
public:
static System::String ^ ToString(long value, int toBase);
public static string ToString (long value, int toBase);
static member ToString : int64 * int -> string
Public Shared Function ToString (value As Long, toBase As Integer) As String
參數
- value
- Int64
要轉換的 64 位元帶正負號的整數。
- toBase
- Int32
傳回值的基底,必須是 2、8、10 或 16。
傳回
在基底 value
中 toBase
的字串表示。
例外狀況
toBase
不是 2、8、10 或 16。
範例
下列範例會將長整數數位中的每個項目轉換為其相等的二進位、十六進位、十進位和十六進位字串表示。
int[] bases = { 2, 8, 10, 16};
long[] numbers = { Int64.MinValue, -193275430, -13621, -18, 12,
1914206117, Int64.MaxValue };
foreach (int baseValue in bases)
{
Console.WriteLine("Base {0} conversion:", baseValue);
foreach (long number in numbers)
{
Console.WriteLine(" {0,-23} --> 0x{1}",
number, Convert.ToString(number, baseValue));
}
}
// The example displays the following output:
// Base 2 conversion:
// -9223372036854775808 --> 0x1000000000000000000000000000000000000000000000000000000000000000
// -193275430 --> 0x1111111111111111111111111111111111110100011110101101100111011010
// -13621 --> 0x1111111111111111111111111111111111111111111111111100101011001011
// -18 --> 0x1111111111111111111111111111111111111111111111111111111111101110
// 12 --> 0x1100
// 1914206117 --> 0x1110010000110000111011110100101
// 9223372036854775807 --> 0x111111111111111111111111111111111111111111111111111111111111111
// Base 8 conversion:
// -9223372036854775808 --> 0x1000000000000000000000
// -193275430 --> 0x1777777777776436554732
// -13621 --> 0x1777777777777777745313
// -18 --> 0x1777777777777777777756
// 12 --> 0x14
// 1914206117 --> 0x16206073645
// 9223372036854775807 --> 0x777777777777777777777
// Base 10 conversion:
// -9223372036854775808 --> 0x-9223372036854775808
// -193275430 --> 0x-193275430
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 1914206117 --> 0x1914206117
// 9223372036854775807 --> 0x9223372036854775807
// Base 16 conversion:
// -9223372036854775808 --> 0x8000000000000000
// -193275430 --> 0xfffffffff47ad9da
// -13621 --> 0xffffffffffffcacb
// -18 --> 0xffffffffffffffee
// 12 --> 0xc
// 1914206117 --> 0x721877a5
// 9223372036854775807 --> 0x7fffffffffffffff
let bases = [| 2; 8; 10; 16 |]
let numbers =
[| Int64.MinValue; -193275430; -13621; -18; 12; 1914206117; Int64.MaxValue |]
for baseValue in bases do
printfn $"Base {baseValue} conversion:"
for number in numbers do
printfn $" {number,-23} --> 0x{Convert.ToString(number, baseValue)}"
// The example displays the following output:
// Base 2 conversion:
// -9223372036854775808 --> 0x1000000000000000000000000000000000000000000000000000000000000000
// -193275430 --> 0x1111111111111111111111111111111111110100011110101101100111011010
// -13621 --> 0x1111111111111111111111111111111111111111111111111100101011001011
// -18 --> 0x1111111111111111111111111111111111111111111111111111111111101110
// 12 --> 0x1100
// 1914206117 --> 0x1110010000110000111011110100101
// 9223372036854775807 --> 0x111111111111111111111111111111111111111111111111111111111111111
// Base 8 conversion:
// -9223372036854775808 --> 0x1000000000000000000000
// -193275430 --> 0x1777777777776436554732
// -13621 --> 0x1777777777777777745313
// -18 --> 0x1777777777777777777756
// 12 --> 0x14
// 1914206117 --> 0x16206073645
// 9223372036854775807 --> 0x777777777777777777777
// Base 10 conversion:
// -9223372036854775808 --> 0x-9223372036854775808
// -193275430 --> 0x-193275430
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 1914206117 --> 0x1914206117
// 9223372036854775807 --> 0x9223372036854775807
// Base 16 conversion:
// -9223372036854775808 --> 0x8000000000000000
// -193275430 --> 0xfffffffff47ad9da
// -13621 --> 0xffffffffffffcacb
// -18 --> 0xffffffffffffffee
// 12 --> 0xc
// 1914206117 --> 0x721877a5
// 9223372036854775807 --> 0x7fffffffffffffff
Dim bases() As Integer = { 2, 8, 10, 16}
Dim numbers() As Long = { Int64.MinValue, -193275430, -13621, -18, 12, _
1914206117, Int64.MaxValue }
For Each base As Integer In bases
Console.WriteLine("Base {0} conversion:", base)
For Each number As Long In numbers
Console.WriteLine(" {0,-23} --> 0x{1}", _
number, Convert.ToString(number, base))
Next
Next
' The example displays the following output:
' Base 2 conversion:
' -9223372036854775808 --> 0x1000000000000000000000000000000000000000000000000000000000000000
' -193275430 --> 0x1111111111111111111111111111111111110100011110101101100111011010
' -13621 --> 0x1111111111111111111111111111111111111111111111111100101011001011
' -18 --> 0x1111111111111111111111111111111111111111111111111111111111101110
' 12 --> 0x1100
' 1914206117 --> 0x1110010000110000111011110100101
' 9223372036854775807 --> 0x111111111111111111111111111111111111111111111111111111111111111
' Base 8 conversion:
' -9223372036854775808 --> 0x1000000000000000000000
' -193275430 --> 0x1777777777776436554732
' -13621 --> 0x1777777777777777745313
' -18 --> 0x1777777777777777777756
' 12 --> 0x14
' 1914206117 --> 0x16206073645
' 9223372036854775807 --> 0x777777777777777777777
' Base 10 conversion:
' -9223372036854775808 --> 0x-9223372036854775808
' -193275430 --> 0x-193275430
' -13621 --> 0x-13621
' -18 --> 0x-18
' 12 --> 0x12
' 1914206117 --> 0x1914206117
' 9223372036854775807 --> 0x9223372036854775807
' Base 16 conversion:
' -9223372036854775808 --> 0x8000000000000000
' -193275430 --> 0xfffffffff47ad9da
' -13621 --> 0xffffffffffffcacb
' -18 --> 0xffffffffffffffee
' 12 --> 0xc
' 1914206117 --> 0x721877a5
' 9223372036854775807 --> 0x7fffffffffffffff
let bases = [2; 8; 10; 16]
let numbers = [ Int64.MinValue; -193275430L; -13621L; -18L; 12L; 1914206117L; Int64.MaxValue ]
for baseValue in bases do
printfn "Base %i conversion:" baseValue
for number in numbers do
printfn " % -23i --> 0x%s" number (Convert.ToString (number, baseValue))
// The example displays the following output:
// Base 2 conversion:
// -9223372036854775808 --> 0x1000000000000000000000000000000000000000000000000000000000000000
// -193275430 --> 0x1111111111111111111111111111111111110100011110101101100111011010
// -13621 --> 0x1111111111111111111111111111111111111111111111111100101011001011
// -18 --> 0x1111111111111111111111111111111111111111111111111111111111101110
// 12 --> 0x1100
// 1914206117 --> 0x1110010000110000111011110100101
// 9223372036854775807 --> 0x111111111111111111111111111111111111111111111111111111111111111
// Base 8 conversion:
// -9223372036854775808 --> 0x1000000000000000000000
// -193275430 --> 0x1777777777776436554732
// -13621 --> 0x1777777777777777745313
// -18 --> 0x1777777777777777777756
// 12 --> 0x14
// 1914206117 --> 0x16206073645
// 9223372036854775807 --> 0x777777777777777777777
// Base 10 conversion:
// -9223372036854775808 --> 0x-9223372036854775808
// -193275430 --> 0x-193275430
// -13621 --> 0x-13621
// -18 --> 0x-18
// 12 --> 0x12
// 1914206117 --> 0x1914206117
// 9223372036854775807 --> 0x9223372036854775807
// Base 16 conversion:
// -9223372036854775808 --> 0x8000000000000000
// -193275430 --> 0xfffffffff47ad9da
// -13621 --> 0xffffffffffffcacb
// -18 --> 0xffffffffffffffee
// 12 --> 0xc
// 1914206117 --> 0x721877a5
// 9223372036854775807 --> 0x7fffffffffffffff
備註
如果 value
為正數且 toBase
不是 10,則傳回的字串會使用正負號和大小表示法。 如果 value
為負數且 toBase
不是 10,則傳回的字串會使用兩個補碼表示法。 這表示最高順序位元組 (位 63) 的高序位會解譯為符號位。
ToString(Int64, Int32)如果呼叫 方法以建立稍後會轉換回數位的字串,則會呼叫假設類似的數值表示法來執行轉換的對應方法。 這類方法包括 Convert.ToInt64(String, Int32) 和 Int64.Parse(String, NumberStyles)。
適用於
ToString(Byte, Int32)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將 8 位元不帶正負號整數的值,轉換為它在指定基底中的相等字串表示。
public:
static System::String ^ ToString(System::Byte value, int toBase);
public static string ToString (byte value, int toBase);
static member ToString : byte * int -> string
Public Shared Function ToString (value As Byte, toBase As Integer) As String
參數
- value
- Byte
要轉換之 8 位元不帶正負號的整數。
- toBase
- Int32
傳回值的基底,必須是 2、8、10 或 16。
傳回
在基底 value
中 toBase
的字串表示。
例外狀況
toBase
不是 2、8、10 或 16。
範例
下列範例會將位元組陣列中的每個項目轉換成其相等的二進位、十六進位、十進位和十六進位字串表示。
int[] bases = { 2, 8, 10, 16};
byte[] numbers = { Byte.MinValue, 12, 103, Byte.MaxValue};
foreach (int baseValue in bases)
{
Console.WriteLine("Base {0} conversion:", baseValue);
foreach (byte number in numbers)
{
Console.WriteLine(" {0,-5} --> 0x{1}",
number, Convert.ToString(number, baseValue));
}
}
// The example displays the following output:
// Base 2 conversion:
// 0 --> 0x0
// 12 --> 0x1100
// 103 --> 0x1100111
// 255 --> 0x11111111
// Base 8 conversion:
// 0 --> 0x0
// 12 --> 0x14
// 103 --> 0x147
// 255 --> 0x377
// Base 10 conversion:
// 0 --> 0x0
// 12 --> 0x12
// 103 --> 0x103
// 255 --> 0x255
// Base 16 conversion:
// 0 --> 0x0
// 12 --> 0xc
// 103 --> 0x67
// 255 --> 0xff
let bases = [| 2; 8; 10; 16 |]
let numbers = [| Byte.MinValue; 12uy; 103uy; Byte.MaxValue |]
for baseValue in bases do
printfn $"Base {baseValue} conversion:"
for number in numbers do
Console.WriteLine(" {0,-5} --> 0x{1}",
number, Convert.ToString(number, baseValue))
// The example displays the following output:
// Base 2 conversion:
// 0 --> 0x0
// 12 --> 0x1100
// 103 --> 0x1100111
// 255 --> 0x11111111
// Base 8 conversion:
// 0 --> 0x0
// 12 --> 0x14
// 103 --> 0x147
// 255 --> 0x377
// Base 10 conversion:
// 0 --> 0x0
// 12 --> 0x12
// 103 --> 0x103
// 255 --> 0x255
// Base 16 conversion:
// 0 --> 0x0
// 12 --> 0xc
// 103 --> 0x67
// 255 --> 0xff
Dim bases() As Integer = { 2, 8, 10, 16}
Dim numbers() As Byte = { Byte.MinValue, 12, 103, Byte.MaxValue}
For Each base As Integer In bases
Console.WriteLine("Base {0} conversion:", base)
For Each number As Byte In numbers
Console.WriteLine(" {0,-5} --> 0x{1}", _
number, Convert.ToString(number, base))
Next
Next
' The example displays the following output:
' Base 2 conversion:
' 0 --> 0x0
' 12 --> 0x1100
' 103 --> 0x1100111
' 255 --> 0x11111111
' Base 8 conversion:
' 0 --> 0x0
' 12 --> 0x14
' 103 --> 0x147
' 255 --> 0x377
' Base 10 conversion:
' 0 --> 0x0
' 12 --> 0x12
' 103 --> 0x103
' 255 --> 0x255
' Base 16 conversion:
' 0 --> 0x0
' 12 --> 0xc
' 103 --> 0x67
' 255 --> 0xff
let bases = [2; 8; 10; 16]
let numbers = [ Byte.MinValue; 12uy; 103uy; Byte.MaxValue ]
for baseValue in bases do
printfn "Base %i conversion:" baseValue
for number in numbers do
printfn " % -5i --> 0x%s" number (Convert.ToString (number, baseValue))
// The example displays the following output:
// Base 2 conversion:
// 0 --> 0x0
// 12 --> 0x1100
// 103 --> 0x1100111
// 255 --> 0x11111111
// Base 8 conversion:
// 0 --> 0x0
// 12 --> 0x14
// 103 --> 0x147
// 255 --> 0x377
// Base 10 conversion:
// 0 --> 0x0
// 12 --> 0x12
// 103 --> 0x103
// 255 --> 0x255
// Base 16 conversion:
// 0 --> 0x0
// 12 --> 0xc
// 103 --> 0x67
// 255 --> 0xff
備註
如果 toBase
不等於 10,方法所傳回的 Convert.ToString(Byte, Int32) 字串只會以其大小表示 value
。 如果呼叫 方法以建立稍後會轉換回數位的字串,則假設應該呼叫僅限大小數值表示法的對應方法來執行轉換。 這類方法包括 Convert.ToByte(String, Int32) 或 Byte.Parse(String, NumberStyles)。
適用於
ToString(Boolean, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定的布林值轉換為它的相等字串表示。
public:
static System::String ^ ToString(bool value, IFormatProvider ^ provider);
public static string ToString (bool value, IFormatProvider provider);
public static string ToString (bool value, IFormatProvider? provider);
static member ToString : bool * IFormatProvider -> string
Public Shared Function ToString (value As Boolean, provider As IFormatProvider) As String
參數
- value
- Boolean
要轉換的布林值。
- provider
- IFormatProvider
物件的執行個體。 這個參數已忽略。
傳回
value
的字串表示。
範例
下列範例會Boolean使用 物件,將 IFormatProvider 值轉換成 String 與 ToString
方法,該物件會顯示呼叫其格式提供者的類型。 此範例顯示 IFormatProvider 物件未參考。
// Example of Convert::ToString( non-numeric types, IFormatProvider ).
using namespace System;
using namespace System::Globalization;
#define null (Object^)0
// An instance of this class can be passed to methods that require
// an IFormatProvider.
ref class DummyProvider: public IFormatProvider
{
public:
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
virtual Object^ GetFormat( Type^ argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console::Write( "{0,-40}", argType->ToString() );
return null;
}
};
int main()
{
// Create an instance of the IFormatProvider.
DummyProvider^ provider = gcnew DummyProvider;
String^ converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
Object^ ObjDouble = -98765.4321;
DateTime DayTimeA = DateTime(2001,9,11,13,45,0);
bool BoolA = true;
String^ StringA = "Qwerty";
Char CharA = '$';
TimeSpan TSpanA = TimeSpan(0,18,0);
Object^ ObjOther = static_cast<Object^>(provider);
Console::WriteLine( "This example of "
"Convert::ToString( non-numeric, IFormatProvider* ) \n"
"generates the following output. The provider type, "
"argument type, \nand argument value are displayed." );
Console::WriteLine( "\nNote: The IFormatProvider object is "
"not called for Boolean, String, \nChar, TimeSpan, "
"and non-numeric Object." );
// The format provider is called for these conversions.
Console::WriteLine();
converted = Convert::ToString( Int32A, provider );
Console::WriteLine( "int {0}", converted );
converted = Convert::ToString( DoubleA, provider );
Console::WriteLine( "double {0}", converted );
converted = Convert::ToString( ObjDouble, provider );
Console::WriteLine( "Object {0}", converted );
converted = Convert::ToString( DayTimeA, provider );
Console::WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console::WriteLine();
converted = Convert::ToString( BoolA, provider );
Console::WriteLine( "bool {0}", converted );
converted = Convert::ToString( StringA, provider );
Console::WriteLine( "String {0}", converted );
converted = Convert::ToString( CharA, provider );
Console::WriteLine( "Char {0}", converted );
converted = Convert::ToString( TSpanA, provider );
Console::WriteLine( "TimeSpan {0}", converted );
converted = Convert::ToString( ObjOther, provider );
Console::WriteLine( "Object {0}", converted );
}
/*
This example of Convert::ToString( non-numeric, IFormatProvider* )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo Object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
String Qwerty
Char $
TimeSpan 00:18:00
Object DummyProvider
*/
// Example of Convert.ToString( non-numeric types, IFormatProvider ).
using System;
using System.Globalization;
// An instance of this class can be passed to methods that require
// an IFormatProvider.
public class DummyProvider : IFormatProvider
{
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
public object GetFormat( Type argType )
{
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) );
return null;
}
}
class ConvertNonNumericProviderDemo
{
static void Main( )
{
// Create an instance of the IFormatProvider.
DummyProvider provider = new DummyProvider( );
string converted;
// Convert these values using DummyProvider.
int Int32A = -252645135;
double DoubleA = 61680.3855;
object ObjDouble = (object)( -98765.4321 );
DateTime DayTimeA = new DateTime( 2001, 9, 11, 13, 45, 0 );
bool BoolA = true;
string StringA = "Qwerty";
char CharA = '$';
TimeSpan TSpanA = new TimeSpan( 0, 18, 0 );
object ObjOther = (object)provider;
Console.WriteLine( "This example of " +
"Convert.ToString( non-numeric, IFormatProvider ) \n" +
"generates the following output. The provider type, " +
"argument type, \nand argument value are displayed." );
Console.WriteLine( "\nNote: The IFormatProvider object is " +
"not called for Boolean, String, \nChar, TimeSpan, " +
"and non-numeric Object." );
// The format provider is called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( Int32A, provider );
Console.WriteLine( "int {0}", converted );
converted = Convert.ToString( DoubleA, provider );
Console.WriteLine( "double {0}", converted );
converted = Convert.ToString( ObjDouble, provider );
Console.WriteLine( "object {0}", converted );
converted = Convert.ToString( DayTimeA, provider );
Console.WriteLine( "DateTime {0}", converted );
// The format provider is not called for these conversions.
Console.WriteLine( );
converted = Convert.ToString( BoolA, provider );
Console.WriteLine( "bool {0}", converted );
converted = Convert.ToString( StringA, provider );
Console.WriteLine( "string {0}", converted );
converted = Convert.ToString( CharA, provider );
Console.WriteLine( "char {0}", converted );
converted = Convert.ToString( TSpanA, provider );
Console.WriteLine( "TimeSpan {0}", converted );
converted = Convert.ToString( ObjOther, provider );
Console.WriteLine( "object {0}", converted );
}
}
/*
This example of Convert.ToString( non-numeric, IFormatProvider )
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object.
System.Globalization.NumberFormatInfo int -252645135
System.Globalization.NumberFormatInfo double 61680.3855
System.Globalization.NumberFormatInfo object -98765.4321
System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
bool True
string Qwerty
char $
TimeSpan 00:18:00
object DummyProvider
*/
// Example of Convert.ToString(non-numeric types, IFormatProvider).
open System
open System.Globalization
// Create an instance of the IFormatProvider with an object expression.
let provider =
{ new IFormatProvider with
// Normally, GetFormat returns an object of the requested type
// (usually itself) if it is able; otherwise, it returns Nothing.
member _.GetFormat(argType: Type) =
// Here, the type of argType is displayed, and GetFormat
// always returns Nothing.
printf $"{argType,-40}"
null
}
// Convert these values using DummyProvider.
let Int32A = -252645135
let DoubleA = 61680.3855
let ObjDouble = -98765.4321 :> obj
let DayTimeA = DateTime(2001, 9, 11, 13, 45, 0)
let BoolA = true
let StringA = "Qwerty"
let CharA = '$'
let TSpanA = TimeSpan(0, 18, 0)
let ObjOther = provider :> obj
[<EntryPoint>]
let main _ =
printfn
"""This example of Convert.ToString(non-numeric, IFormatProvider)
generates the following output. The provider type, argument type,
and argument value are displayed.
Note: The IFormatProvider object is not called for Boolean, String,
Char, TimeSpan, and non-numeric Object."""
// The format provider is called for these conversions.
printfn ""
let converted = Convert.ToString(Int32A, provider)
printfn $"int {converted}"
let converted = Convert.ToString(DoubleA, provider)
printfn $"double {converted}"
let converted = Convert.ToString(ObjDouble, provider)
printfn $"object {converted}"
let converted = Convert.ToString(DayTimeA, provider)
printfn $"DateTime {converted}"
// The format provider is not called for these conversions.
printfn ""
let converted = Convert.ToString(BoolA, provider)
printfn $"bool {converted}"
let converted = Convert.ToString(StringA, provider)
printfn $"string {converted}"
let converted = Convert.ToString(CharA, provider)
printfn $"char {converted}"
let converted = Convert.ToString(TSpanA, provider)
printfn $"TimeSpan {converted}"
let converted = Convert.ToString(ObjOther, provider)
printfn $"object {converted}"
0
// This example of Convert.ToString(non-numeric, IFormatProvider)
// generates the following output. The provider type, argument type,
// and argument value are displayed.
//
// Note: The IFormatProvider object is not called for Boolean, String,
// Char, TimeSpan, and non-numeric Object.
//
// System.Globalization.NumberFormatInfo int -252645135
// System.Globalization.NumberFormatInfo double 61680.3855
// System.Globalization.NumberFormatInfo object -98765.4321
// System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
//
// bool True
// string Qwerty
// char $
// TimeSpan 00:18:00
// object DummyProvider
' Example of Convert.ToString( non-numeric types, IFormatProvider ).
Imports System.Globalization
' An instance of this class can be passed to methods that require
' an IFormatProvider.
Public Class DummyProvider
Implements IFormatProvider
' Normally, GetFormat returns an object of the requested type
' (usually itself) if it is able; otherwise, it returns Nothing.
Public Function GetFormat( argType As Type ) As Object _
Implements IFormatProvider.GetFormat
' Here, the type of argType is displayed, and GetFormat
' always returns Nothing.
Console.Write( "{0,-40}", argType.ToString( ) )
Return Nothing
End Function
End Class
Module ConvertNonNumericProviderDemo
Sub Main( )
' Create an instance of the IFormatProvider.
Dim provider As New DummyProvider( )
Dim converted As String
' Convert these values using DummyProvider.
Dim Int32A As Integer = -252645135
Dim DoubleA As Double = 61680.3855
Dim ObjDouble As Object = CType( -98765.4321, Object )
Dim DayTimeA As DateTime = _
new DateTime( 2001, 9, 11, 13, 45, 0 )
Dim BoolA As Boolean = True
Dim StringA As String = "Qwerty"
Dim CharA As Char = "$"c
Dim TSpanA As TimeSpan = New TimeSpan( 0, 18, 0 )
Dim ObjOther As Object = CType( provider, Object )
Console.WriteLine( "This example of " & _
"Convert.ToString( non-numeric, IFormatProvider ) " & _
vbCrLf & "generates the following output. The " & _
"provider type, argument type, " & vbCrLf & "and " & _
"argument value are displayed." )
Console.WriteLine( vbCrLf & _
"Note: The IFormatProvider object is not called for " & _
"Boolean, String, " & vbCrLf & "Char, TimeSpan, " & _
"and non-numeric Object." )
' The format provider is called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( Int32A, provider )
Console.WriteLine( "Int32 {0}", converted )
converted = Convert.ToString( DoubleA, provider )
Console.WriteLine( "Double {0}", converted )
converted = Convert.ToString( ObjDouble, provider )
Console.WriteLine( "Object {0}", converted )
converted = Convert.ToString( DayTimeA, provider )
Console.WriteLine( "DateTime {0}", converted )
' The format provider is not called for these conversions.
Console.WriteLine( )
converted = Convert.ToString( BoolA, provider )
Console.WriteLine( "Boolean {0}", converted )
converted = Convert.ToString( StringA, provider )
Console.WriteLine( "String {0}", converted )
converted = Convert.ToString( CharA, provider )
Console.WriteLine( "Char {0}", converted )
converted = Convert.ToString( TSpanA, provider )
Console.WriteLine( "TimeSpan {0}", converted )
converted = Convert.ToString( ObjOther, provider )
Console.WriteLine( "Object {0}", converted )
End Sub
End Module
' This example of Convert.ToString( non-numeric, IFormatProvider )
' generates the following output. The provider type, argument type,
' and argument value are displayed.
'
' Note: The IFormatProvider object is not called for Boolean, String,
' Char, TimeSpan, and non-numeric Object.
'
' System.Globalization.NumberFormatInfo Int32 -252645135
' System.Globalization.NumberFormatInfo Double 61680.3855
' System.Globalization.NumberFormatInfo Object -98765.4321
' System.Globalization.DateTimeFormatInfo DateTime 9/11/2001 1:45:00 PM
'
' Boolean True
' String Qwerty
' Char $
' TimeSpan 00:18:00
' Object DummyProvider
備註
這個實作與 相同 Boolean.ToString。 它會針對true
值與 false
Boolean.FalseString 值傳回 Boolean.TrueString 。
適用於
ToString(Byte, IFormatProvider)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
使用指定之特定文化特性格式資訊,將指定之 8 位元不帶正負號的整數的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::Byte value, IFormatProvider ^ provider);
public static string ToString (byte value, IFormatProvider provider);
public static string ToString (byte value, IFormatProvider? provider);
static member ToString : byte * IFormatProvider -> string
Public Shared Function ToString (value As Byte, provider As IFormatProvider) As String
參數
- value
- Byte
要轉換之 8 位元不帶正負號的整數。
- provider
- IFormatProvider
物件,提供特定文化特性格式資訊。
傳回
value
的字串表示。
範例
下列範例會使用 en-US 和 fr-FR 文化特性的格式慣例,將不帶正負號位元組陣列中的每個元素轉換成其相等的字串表示。 由於 「G」 規範預設只會輸出位元組值字串表示中的十進位數,因此 provider
參數不會影響傳回字串的格式。
byte[] numbers = { 12, 100, Byte.MaxValue };
// Define the culture names used to display them.
string[] cultureNames = { "en-US", "fr-FR" };
foreach (byte number in numbers)
{
Console.WriteLine("{0}:", Convert.ToString(number,
System.Globalization.CultureInfo.InvariantCulture));
foreach (string cultureName in cultureNames)
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(cultureName);
Console.WriteLine(" {0}: {1,20}",
culture.Name, Convert.ToString(number, culture));
}
Console.WriteLine();
}
// The example displays the following output:
// 12:
// en-US: 12
// fr-FR: 12
//
// 100:
// en-US: 100
// fr-FR: 100
//
// 255:
// en-US: 255
// fr-FR: 255
let numbers = [| 12uy; 100uy; Byte.MaxValue |]
// Define the culture names used to display them.
let cultureNames = [| "en-US"; "fr-FR" |]
for number in numbers do
printfn $"{Convert.ToString(number, CultureInfo.InvariantCulture)}:"
for cultureName in cultureNames do
let culture = CultureInfo cultureName
printfn $" {culture.Name}: {Convert.ToString(number, culture),20}"
printfn ""
// The example displays the following output:
// 12:
// en-US: 12
// fr-FR: 12
//
// 100:
// en-US: 100
// fr-FR: 100
//
// 255:
// en-US: 255
// fr-FR: 255
' Define an array of numbers to display.
Dim numbers() As Byte = { 12, 100, Byte.MaxValue }
' Define the culture names used to display them.
Dim cultureNames() As String = { "en-US", "fr-FR" }
For Each number As Byte In numbers
Console.WriteLine("{0}:", Convert.ToString(number, _
System.Globalization.CultureInfo.InvariantCulture))
For Each cultureName As String In cultureNames
Dim culture As New System.Globalization.CultureInfo(cultureName)
Console.WriteLine(" {0}: {1,20}", _
culture.Name, Convert.ToString(number, culture))
Next
Console.WriteLine()
Next
' The example displays the following output:
' 12:
' en-US: 12
' fr-FR: 12
'
' 100:
' en-US: 100
' fr-FR: 100
'
' 255:
' en-US: 255
' fr-FR: 255
備註
這個實作與 相同 Byte.ToString。
適用於
ToString(Boolean)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定的布林值轉換為它的相等字串表示。
public:
static System::String ^ ToString(bool value);
public static string ToString (bool value);
static member ToString : bool -> string
Public Shared Function ToString (value As Boolean) As String
參數
- value
- Boolean
要轉換的布林值。
傳回
value
的字串表示。
範例
下列範例說明如何使用 ToString
,將轉換成 。BooleanString 它也說明轉換傳回的字串等於 Boolean.TrueString 或 Boolean.FalseString。
bool falseFlag = false;
bool trueFlag = true;
Console.WriteLine(Convert.ToString(falseFlag));
Console.WriteLine(Convert.ToString(falseFlag).Equals(Boolean.FalseString));
Console.WriteLine(Convert.ToString(trueFlag));
Console.WriteLine(Convert.ToString(trueFlag).Equals(Boolean.TrueString));
// The example displays the following output:
// False
// True
// True
// True
let falseFlag = false
let trueFlag = true
printfn $"{Convert.ToString falseFlag}"
printfn $"{Convert.ToString(falseFlag).Equals Boolean.FalseString}"
printfn $"{Convert.ToString trueFlag}"
printfn $"{Convert.ToString(trueFlag).Equals(Boolean.TrueString)}"
// The example displays the following output:
// False
// True
// True
// True
Dim falseFlag As Boolean = False
Dim trueFlag As Boolean = True
Console.WriteLine(Convert.ToString(falseFlag))
Console.WriteLine(Convert.ToString(falseFlag).Equals(Boolean.FalseString))
Console.WriteLine(Convert.ToString(trueFlag))
Console.WriteLine(Convert.ToString(trueFlag).Equals(Boolean.TrueString))
' The example displays the following output:
' False
' True
' True
' True
let falseFlag = false
let trueFlag = true
Console.WriteLine (Convert.ToString falseFlag)
Console.WriteLine (Convert.ToString falseFlag=Boolean.FalseString)
Console.WriteLine (Convert.ToString trueFlag)
Console.WriteLine (Convert.ToString trueFlag=Boolean.TrueString)
// The example displays the following output:
// False
// True
// True
// True
備註
這個實作與 相同 Boolean.ToString。 它會針對true
值與 false
Boolean.FalseString 值傳回 Boolean.TrueString 。
適用於
ToString(Byte)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定之 8 位元不帶正負號的整數值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::Byte value);
public static string ToString (byte value);
static member ToString : byte -> string
Public Shared Function ToString (value As Byte) As String
參數
- value
- Byte
要轉換之 8 位元不帶正負號的整數。
傳回
value
的字串表示。
範例
下列範例會將陣列中的每個 Byte 值轉換成字串。
using System;
public class Example
{
public static void Main()
{
byte[] values = { Byte.MinValue, 12, 100, 179, Byte.MaxValue } ;
foreach (var value in values)
Console.WriteLine("{0,3} ({1}) --> {2}", value,
value.GetType().Name,
Convert.ToString(value));
}
}
// The example displays the following output:
// 0 (Byte) --> 0
// 12 (Byte) --> 12
// 100 (Byte) --> 100
// 179 (Byte) --> 179
// 255 (Byte) --> 255
open System
let values =
[| Byte.MinValue; 12uy; 100uy; 179uy; Byte.MaxValue |]
for value in values do
printfn $"{value,3} ({value.GetType().Name}) --> {Convert.ToString value}"
// The example displays the following output:
// 0 (Byte) --> 0
// 12 (Byte) --> 12
// 100 (Byte) --> 100
// 179 (Byte) --> 179
// 255 (Byte) --> 255
Public Module Example
Public Sub Main()
Dim values() As Byte = { Byte.MinValue, 12, 100, 179, Byte.MaxValue }
For Each value In values
Console.WriteLine("{0,3} ({1}) --> {2}", value,
value.GetType().Name,
Convert.ToString(value))
Next
End Sub
End Module
' The example displays the following output:
' 0 (Byte) --> 0
' 12 (Byte) --> 12
' 100 (Byte) --> 100
' 179 (Byte) --> 179
' 255 (Byte) --> 255
let values = [ Byte.MinValue; 12uy; 100uy; 179uy; Byte.MaxValue ]
for value in values do
printfn "% 4i (%s) --> %s" value (value.GetType().Name) (Convert.ToString value)
// The example displays the following output:
// 0 (Byte) --> 0
// 12 (Byte) --> 12
// 100 (Byte) --> 100
// 179 (Byte) --> 179
// 255 (Byte) --> 255
備註
這個實作與 相同 Byte.ToString()。
適用於
ToString(Char)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定之 Unicode 字元的值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(char value);
public static string ToString (char value);
static member ToString : char -> string
Public Shared Function ToString (value As Char) As String
參數
- value
- Char
要轉換的 Unicode 字元。
傳回
value
的字串表示。
範例
public:
void ConvertStringChar( String^ stringVal )
{
Char charVal = 'a';
// A String must be one character long to convert to char.
try
{
charVal = System::Convert::ToChar( stringVal );
System::Console::WriteLine( " {0} as a char is {1}",
stringVal, charVal );
}
catch ( System::FormatException^ )
{
System::Console::WriteLine(
"The String is longer than one character." );
}
catch ( System::ArgumentNullException^ )
{
System::Console::WriteLine( "The String is 0." );
}
// A char to String conversion will always succeed.
stringVal = System::Convert::ToString( charVal );
System::Console::WriteLine( "The character as a String is {0}",
stringVal );
}
public void ConvertStringChar(string stringVal) {
char charVal = 'a';
// A string must be one character long to convert to char.
try {
charVal = System.Convert.ToChar(stringVal);
System.Console.WriteLine("{0} as a char is {1}",
stringVal, charVal);
}
catch (System.FormatException) {
System.Console.WriteLine(
"The string is longer than one character.");
}
catch (System.ArgumentNullException) {
System.Console.WriteLine("The string is null.");
}
// A char to string conversion will always succeed.
stringVal = System.Convert.ToString(charVal);
System.Console.WriteLine("The character as a string is {0}",
stringVal);
}
let convertStringChar (stringVal: string) =
let charVal = 'a'
// A string must be one character long to convert to char.
try
let charVal = Convert.ToChar stringVal
printfn $"{stringVal} as a char is {charVal}"
with
| :? FormatException ->
printfn "The string is longer than one character."
| :? ArgumentNullException ->
printfn "The string is null."
// A char to string conversion will always succeed.
let stringVal = Convert.ToString charVal
printfn $"The character as a string is {stringVal}"
Public Sub ConvertStringChar(ByVal stringVal As String)
Dim charVal As Char = "a"c
' A string must be one character long to convert to char.
Try
charVal = System.Convert.ToChar(stringVal)
System.Console.WriteLine("{0} as a char is {1}", _
stringVal, charVal)
Catch exception As System.FormatException
System.Console.WriteLine( _
"The string is longer than one character.")
Catch exception As System.ArgumentNullException
System.Console.WriteLine("The string is null.")
End Try
' A char to string conversion will always succeed.
stringVal = System.Convert.ToString(charVal)
System.Console.WriteLine("The character as a string is {0}", _
stringVal)
End Sub
備註
這個實作與 相同 Char.ToString。
適用於
ToString(DateTime)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定之 DateTime 的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(DateTime value);
public static string ToString (DateTime value);
static member ToString : DateTime -> string
Public Shared Function ToString (value As DateTime) As String
參數
- value
- DateTime
要轉換的日期和時間值。
傳回
value
的字串表示。
範例
下列範例會將值陣列 DateTime 中的每個項目轉換成 String 值。
DateTime[] dates = { new DateTime(2009, 7, 14),
new DateTime(1, 1, 1, 18, 32, 0),
new DateTime(2009, 2, 12, 7, 16, 0) };
string result;
foreach (DateTime dateValue in dates)
{
result = Convert.ToString(dateValue);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
dateValue.GetType().Name, dateValue,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the DateTime value 7/14/2009 12:00:00 AM to a String value 7/14/2009 12:00:00 AM.
// Converted the DateTime value 1/1/0001 06:32:00 PM to a String value 1/1/0001 06:32:00 PM.
// Converted the DateTime value 2/12/2009 07:16:00 AM to a String value 2/12/2009 07:16:00 AM.
let dates =
[| DateTime(2009, 7, 14)
DateTime(1, 1, 1, 18, 32, 0)
DateTime(2009, 2, 12, 7, 16, 0) |]
for dateValue in dates do
let result = Convert.ToString dateValue
printfn $"Converted the {dateValue.GetType().Name} value {dateValue} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the DateTime value 7/14/2009 12:00:00 AM to a String value 7/14/2009 12:00:00 AM.
// Converted the DateTime value 1/1/0001 06:32:00 PM to a String value 1/1/0001 06:32:00 PM.
// Converted the DateTime value 2/12/2009 07:16:00 AM to a String value 2/12/2009 07:16:00 AM.
Dim dates() As Date = { #07/14/2009#, #6:32PM#, #02/12/2009 7:16AM#}
Dim result As String
For Each dateValue As Date In dates
result = Convert.ToString(dateValue)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
dateValue.GetType().Name, dateValue, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the DateTime value 7/14/2009 12:00:00 AM to a String value 7/14/2009 12:00:00 AM.
' Converted the DateTime value 1/1/0001 06:32:00 PM to a String value 1/1/0001 06:32:00 PM.
' Converted the DateTime value 2/12/2009 07:16:00 AM to a String value 2/12/2009 07:16:00 AM.
備註
這個實作與 相同 DateTime.ToString()。 它會使用目前文化特性和 「G」 格式規範的格式慣例,將值轉換為 DateTime 其字串表示法。
適用於
ToString(Double)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定之雙精確度浮點數的值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(double value);
public static string ToString (double value);
static member ToString : double -> string
Public Shared Function ToString (value As Double) As String
參數
- value
- Double
要轉換的雙精確度浮點數。
傳回
value
的字串表示。
範例
public:
void ConvertDoubleString( double doubleVal )
{
String^ stringVal;
// A conversion from Double to String cannot overflow.
stringVal = System::Convert::ToString( doubleVal );
System::Console::WriteLine( " {0} as a String is: {1}",
doubleVal, stringVal );
try
{
doubleVal = System::Convert::ToDouble( stringVal );
System::Console::WriteLine( " {0} as a double is: {1}",
stringVal, doubleVal );
}
catch ( System::OverflowException^ )
{
System::Console::WriteLine( "Conversion from String-to-double overflowed." );
}
catch ( System::FormatException^ )
{
System::Console::WriteLine( "The String was not formatted as a double." );
}
catch ( System::ArgumentException^ )
{
System::Console::WriteLine( "The String pointed to null." );
}
}
public void ConvertDoubleString(double doubleVal) {
string stringVal;
// A conversion from Double to string cannot overflow.
stringVal = System.Convert.ToString(doubleVal);
System.Console.WriteLine("{0} as a string is: {1}",
doubleVal, stringVal);
try {
doubleVal = System.Convert.ToDouble(stringVal);
System.Console.WriteLine("{0} as a double is: {1}",
stringVal, doubleVal);
}
catch (System.OverflowException) {
System.Console.WriteLine(
"Conversion from string-to-double overflowed.");
}
catch (System.FormatException) {
System.Console.WriteLine(
"The string was not formatted as a double.");
}
catch (System.ArgumentException) {
System.Console.WriteLine(
"The string pointed to null.");
}
}
let convertDoubleString (doubleVal: float) =
// A conversion from Double to string cannot overflow.
let stringVal = Convert.ToString doubleVal
printfn $"{doubleVal} as a string is: {stringVal}"
try
let doubleVal = Convert.ToDouble stringVal
printfn $"{stringVal} as a double is: {doubleVal}"
with
| :? OverflowException ->
printfn "Conversion from string-to-double overflowed."
| :? FormatException ->
printfn "The string was not formatted as a double."
| :? ArgumentException ->
printfn "The string pointed to null."
Public Sub ConvertDoubleString(ByVal doubleVal As Double)
Dim stringVal As String
' A conversion from Double to String cannot overflow.
stringVal = System.Convert.ToString(doubleVal)
System.Console.WriteLine("{0} as a String is: {1}", _
doubleVal, stringVal)
Try
doubleVal = System.Convert.ToDouble(stringVal)
System.Console.WriteLine("{0} as a Double is: {1}", _
stringVal, doubleVal)
Catch exception As System.OverflowException
System.Console.WriteLine( _
"Overflow in String-to-Double conversion.")
Catch exception As System.FormatException
System.Console.WriteLine( _
"The string is not formatted as a Double.")
Catch exception As System.ArgumentException
System.Console.WriteLine("The string is null.")
End Try
End Sub
備註
這個實作與 相同 Double.ToString()。
適用於
ToString(Int16)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定之 16 位元帶正負號的整數值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(short value);
public static string ToString (short value);
static member ToString : int16 -> string
Public Shared Function ToString (value As Short) As String
參數
- value
- Int16
要轉換的 16 位元帶正負號的整數。
傳回
value
的字串表示。
範例
下列範例會將16位整數陣列中的每個元素轉換為其相等的字串表示。
short[] numbers = { Int16.MinValue, -138, 0, 19, Int16.MaxValue };
string result;
foreach (short number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the Int16 value -32768 to the String value -32768.
// Converted the Int16 value -138 to the String value -138.
// Converted the Int16 value 0 to the String value 0.
// Converted the Int16 value 19 to the String value 19.
// Converted the Int16 value 32767 to the String value 32767.
let numbers = [| Int16.MinValue; -138s; 0s; 19s; Int16.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the Int16 value -32768 to the String value -32768.
// Converted the Int16 value -138 to the String value -138.
// Converted the Int16 value 0 to the String value 0.
// Converted the Int16 value 19 to the String value 19.
// Converted the Int16 value 32767 to the String value 32767.
Dim numbers() As Short = { Int16.MinValue, -138, 0, 19, Int16.MaxValue }
Dim result As String
For Each number As Short In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the Int16 value -32768 to the String value -32768.
' Converted the Int16 value -138 to the String value -138.
' Converted the Int16 value 0 to the String value 0.
' Converted the Int16 value 19 to the String value 19.
' Converted the Int16 value 32767 to the String value 32767.
備註
這個實作與 相同 Int16.ToString()。
適用於
ToString(Int32)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定之 32 位元帶正負號的整數值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(int value);
public static string ToString (int value);
static member ToString : int -> string
Public Shared Function ToString (value As Integer) As String
參數
- value
- Int32
要轉換的 32 位元帶正負號的整數。
傳回
value
的字串表示。
範例
下列範例會 ToString(Int32) 比較 方法與 ToString(UInt16, IFormatProvider) 方法。 它會定義使用 sting 「minus」 來表示負號的自定義 NumberFormatInfo 物件。 它會使用預設格式 (目前文化特性) 和自定義格式提供者的格式慣例,將整數陣列中的每個元素轉換成其相等的字串表示。
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
// Create a NumberFormatInfo object and set its NegativeSigns
// property to use for integer formatting.
NumberFormatInfo provider = new NumberFormatInfo();
provider.NegativeSign = "minus ";
int[] values = { -20, 0, 100 };
Console.WriteLine("{0,-8} --> {1,10} {2,10}\n", "Value",
CultureInfo.CurrentCulture.Name,
"Custom");
foreach (int value in values)
Console.WriteLine("{0,-8} --> {1,10} {2,10}",
value, Convert.ToString(value),
Convert.ToString(value, provider));
// The example displays output like the following:
// Value --> en-US Custom
//
// -20 --> -20 minus 20
// 0 --> 0 0
// 100 --> 100 100
}
}
open System
open System.Globalization
// Create a NumberFormatInfo object and set its NegativeSigns
// property to use for integer formatting.
let provider = NumberFormatInfo()
provider.NegativeSign <- "minus "
let values = [| -20; 0; 100 |]
printfn $"""{CultureInfo.CurrentCulture.Name,-8} --> {"Value",10} {"Custom",10}\n"""
for value in values do
printfn $"{value,-8} --> {Convert.ToString value,10} {Convert.ToString(value, provider),10}"
// The example displays output like the following:
// Value --> en-US Custom
//
// -20 --> -20 minus 20
// 0 --> 0 0
// 100 --> 100 100
Imports System.Globalization
Module Example
Public Sub Main()
' Create a NumberFormatInfo object and set its NegativeSigns
' property to use for integer formatting.
Dim provider As New NumberFormatInfo()
provider.NegativeSign = "minus "
Dim values() As Integer = { -20, 0, 100 }
Console.WriteLine("{0,-8} --> {1,10} {2,10}", "Value",
CultureInfo.CurrentCulture.Name,
"Custom")
Console.WriteLine()
For Each value As Integer In values
Console.WriteLine("{0,-8} --> {1,10} {2,10}",
value, Convert.ToString(value),
Convert.ToString(value, provider))
Next
End Sub
End Module
' The example displays output like the following:
' Value --> en-US Custom
'
' -20 --> -20 minus 20
' 0 --> 0 0
' 100 --> 100 100
備註
這個實作與 相同 Int32.ToString()。 它會使用目前文化特性的格式慣例來格式化 value
。
適用於
ToString(Decimal)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定之十進位數字的值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::Decimal value);
public static string ToString (decimal value);
static member ToString : decimal -> string
Public Shared Function ToString (value As Decimal) As String
參數
- value
- Decimal
要轉換的十進位數字。
傳回
value
的字串表示。
範例
public:
void ConvertStringDecimal( String^ stringVal )
{
Decimal decimalVal = 0;
try
{
decimalVal = System::Convert::ToDecimal( stringVal );
System::Console::WriteLine( "The String as a decimal is {0}.",
decimalVal );
}
catch ( System::OverflowException^ )
{
System::Console::WriteLine(
"The conversion from String to decimal overflowed." );
}
catch ( System::FormatException^ )
{
System::Console::WriteLine(
"The String is not formatted as a decimal." );
}
catch ( System::ArgumentNullException^ )
{
System::Console::WriteLine( "The String is 0." );
}
// Decimal to String conversion will not overflow.
stringVal = System::Convert::ToString( decimalVal );
System::Console::WriteLine(
"The decimal as a String is {0}.", stringVal );
}
public void ConvertStringDecimal(string stringVal) {
decimal decimalVal = 0;
try {
decimalVal = System.Convert.ToDecimal(stringVal);
System.Console.WriteLine(
"The string as a decimal is {0}.", decimalVal);
}
catch (System.OverflowException){
System.Console.WriteLine(
"The conversion from string to decimal overflowed.");
}
catch (System.FormatException) {
System.Console.WriteLine(
"The string is not formatted as a decimal.");
}
catch (System.ArgumentNullException) {
System.Console.WriteLine(
"The string is null.");
}
// Decimal to string conversion will not overflow.
stringVal = System.Convert.ToString(decimalVal);
System.Console.WriteLine(
"The decimal as a string is {0}.", stringVal);
}
let convertStringDecimal (stringVal: string) =
let decimalVal = 0m
try
let decimalVal = Convert.ToDecimal(stringVal)
printfn $"The string as a decimal is {decimalVal}."
with
| :? OverflowException ->
printfn "The conversion from string to decimal overflowed."
| :? FormatException ->
printfn "The string is not formatted as a decimal."
| :? ArgumentNullException ->
printfn "The string is null."
// Decimal to string conversion will not overflow.
let stringVal = Convert.ToString decimalVal
printfn $"The decimal as a string is {stringVal}."
Public Sub ConvertStringDecimal(ByVal stringVal As String)
Dim decimalVal As Decimal = 0
Try
decimalVal = System.Convert.ToDecimal(stringVal)
System.Console.WriteLine("The string as a decimal is {0}.", _
decimalVal)
Catch exception As System.OverflowException
System.Console.WriteLine( _
"Overflow in string-to-decimal conversion.")
Catch exception As System.FormatException
System.Console.WriteLine( _
"The string is not formatted as a decimal.")
Catch exception As System.ArgumentException
System.Console.WriteLine("The string is null.")
End Try
' Decimal to string conversion will not overflow.
stringVal = System.Convert.ToString(decimalVal)
System.Console.WriteLine("The decimal as a string is {0}.", _
stringVal)
End Sub
備註
這個實作與 相同 Decimal.ToString()。
適用於
ToString(Object)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定之物件的值轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::Object ^ value);
public static string ToString (object value);
public static string? ToString (object? value);
static member ToString : obj -> string
Public Shared Function ToString (value As Object) As String
參數
- value
- Object
提供要轉換之值的物件,或是 null
。
傳回
value
的字串表示;如果 value
為 null
,則為 Empty。
範例
下列範例會將物件陣列中的每個項目轉換為其相等的字串表示。
object[] values = { false, 12.63m, new DateTime(2009, 6, 1, 6, 32, 15), 16.09e-12,
'Z', 15.15322, SByte.MinValue, Int32.MaxValue };
string result;
foreach (object value in values)
{
result = Convert.ToString(value);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
value.GetType().Name, value,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the Boolean value False to the String value False.
// Converted the Decimal value 12.63 to the String value 12.63.
// Converted the DateTime value 6/1/2009 06:32:15 AM to the String value 6/1/2009 06:32:15 AM.
// Converted the Double value 1.609E-11 to the String value 1.609E-11.
// Converted the Char value Z to the String value Z.
// Converted the Double value 15.15322 to the String value 15.15322.
// Converted the SByte value -128 to the String value -128.
// Converted the Int32 value 2147483647 to the String value 2147483647.
let values: obj[] =
[| false; 12.63m; DateTime(2009, 6, 1, 6, 32, 15)
16.09e-12; 'Z'; 15.15322; SByte.MinValue; Int32.MaxValue |]
for value in values do
let result = Convert.ToString value
printfn $"Converted the {value.GetType().Name} value {value} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the Boolean value False to the String value False.
// Converted the Decimal value 12.63 to the String value 12.63.
// Converted the DateTime value 6/1/2009 06:32:15 AM to the String value 6/1/2009 06:32:15 AM.
// Converted the Double value 1.609E-11 to the String value 1.609E-11.
// Converted the Char value Z to the String value Z.
// Converted the Double value 15.15322 to the String value 15.15322.
// Converted the SByte value -128 to the String value -128.
// Converted the Int32 value 2147483647 to the String value 2147483647.
Dim values() As Object = { False, 12.63d, #06/01/2009 6:32:15#, 16.09e-12, _
"Z"c, 15.15322, SByte.MinValue, Int32.MaxValue}
Dim result As String
For Each value As Object In values
result = Convert.ToString(value)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
value.GetType().Name, value, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the Boolean value False to the String value False.
' Converted the Decimal value 12.63 to the String value 12.63.
' Converted the DateTime value 6/1/2009 06:32:15 AM to the String value 6/1/2009 06:32:15 AM.
' Converted the Double value 1.609E-11 to the String value 1.609E-11.
' Converted the Char value Z to the String value Z.
' Converted the Double value 15.15322 to the String value 15.15322.
' Converted the SByte value -128 to the String value -128.
' Converted the Int32 value 2147483647 to the String value 2147483647.
備註
若要轉換成 value
其字串表示法,方法會嘗試呼叫 IConvertible.ToString 的實作 value
。 如果未 value
實作 IConvertible 介面,方法會嘗試呼叫 IFormattable.ToString 的實作 value
。 如果 value 未實作 IFormattable 介面,方法會 ToString
呼叫 基礎型別的 value
方法。
適用於
ToString(SByte)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
重要
此 API 不符合 CLS 規範。
將指定之 8 位元帶正負號的整數值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::SByte value);
[System.CLSCompliant(false)]
public static string ToString (sbyte value);
[<System.CLSCompliant(false)>]
static member ToString : sbyte -> string
Public Shared Function ToString (value As SByte) As String
參數
- value
- SByte
要轉換的 8 位元帶正負號的整數。
傳回
value
的字串表示。
- 屬性
範例
下列範例會將帶正負號位元組陣列中的每個項目轉換成其相等的字串表示。
sbyte[] numbers = { SByte.MinValue, -12, 0, 16, SByte.MaxValue };
string result;
foreach (sbyte number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the SByte value -128 to the String value -128.
// Converted the SByte value -12 to the String value -12.
// Converted the SByte value 0 to the String value 0.
// Converted the SByte value 16 to the String value 16.
// Converted the SByte value 127 to the String value 127.
let numbers = [| SByte.MinValue; -12y; 0y; 16y; SByte.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the SByte value -128 to the String value -128.
// Converted the SByte value -12 to the String value -12.
// Converted the SByte value 0 to the String value 0.
// Converted the SByte value 16 to the String value 16.
// Converted the SByte value 127 to the String value 127.
Dim numbers() As SByte = { SByte.MinValue, -12, 0, 16, SByte.MaxValue }
Dim result As String
For Each number As SByte In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the SByte value -128 to the String value -128.
' Converted the SByte value -12 to the String value -12.
' Converted the SByte value 0 to the String value 0.
' Converted the SByte value 16 to the String value 16.
' Converted the SByte value 127 to the String value 127.
備註
這個實作與 相同 SByte.ToString()。
適用於
ToString(Single)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定之單精確度浮點數的值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(float value);
public static string ToString (float value);
static member ToString : single -> string
Public Shared Function ToString (value As Single) As String
參數
- value
- Single
要轉換的單精確度浮點數。
傳回
value
的字串表示。
範例
下列範例會將值陣列中的每個項目轉換成其相等的 Single 字串表示。
float[] numbers = { Single.MinValue, -1011.351f, -17.45f, -3e-16f,
0f, 4.56e-12f, 16.0001f, 10345.1221f, Single.MaxValue };
string result;
foreach (float number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the Single value -3.402823E+38 to the String value -3.402823E+38.
// Converted the Single value -1011.351 to the String value -1011.351.
// Converted the Single value -17.45 to the String value -17.45.
// Converted the Single value -3E-16 to the String value -3E-16.
// Converted the Single value 0 to the String value 0.
// Converted the Single value 4.56E-12 to the String value 4.56E-12.
// Converted the Single value 16.0001 to the String value 16.0001.
// Converted the Single value 10345.12 to the String value 10345.12.
// Converted the Single value 3.402823E+38 to the String value 3.402823E+38.
let numbers =
[| Single.MinValue; -1011.351f; -17.45f; -3e-16f; 0f; 4.56e-12f; 16.0001f; 10345.1221f; Single.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the Single value -3.402823E+38 to the String value -3.402823E+38.
// Converted the Single value -1011.351 to the String value -1011.351.
// Converted the Single value -17.45 to the String value -17.45.
// Converted the Single value -3E-16 to the String value -3E-16.
// Converted the Single value 0 to the String value 0.
// Converted the Single value 4.56E-12 to the String value 4.56E-12.
// Converted the Single value 16.0001 to the String value 16.0001.
// Converted the Single value 10345.12 to the String value 10345.12.
// Converted the Single value 3.402823E+38 to the String value 3.402823E+38.
Dim numbers() As Single = { Single.MinValue, -1011.351, -17.45, -3e-16, _
0, 4.56e-12, 16.0001, 10345.1221, Single.MaxValue }
Dim result As String
For Each number As Single In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the Single value -3.402823E+38 to the String value -3.402823E+38.
' Converted the Single value -1011.351 to the String value -1011.351.
' Converted the Single value -17.45 to the String value -17.45.
' Converted the Single value -3E-16 to the String value -3E-16.
' Converted the Single value 0 to the String value 0.
' Converted the Single value 4.56E-12 to the String value 4.56E-12.
' Converted the Single value 16.0001 to the String value 16.0001.
' Converted the Single value 10345.12 to the String value 10345.12.
' Converted the Single value 3.402823E+38 to the String value 3.402823E+38.
備註
這個實作與 相同 Single.ToString()。
適用於
ToString(String)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
傳回指定的字串執行個體,不執行實際的轉換。
public:
static System::String ^ ToString(System::String ^ value);
public static string? ToString (string? value);
public static string ToString (string value);
static member ToString : string -> string
Public Shared Function ToString (value As String) As String
參數
- value
- String
要傳回的字串。
傳回
value
會原封不動地傳回。
範例
下列範例會將字串傳遞至 ToString(String) 方法,並呼叫 Object.ReferenceEquals 方法來確認方法會傳回原始字串。 此範例也會呼叫 String.IsInterned 方法,以確保兩個字元串不相同,因為原始字元串是三元字串。
using System;
public class Example
{
public static void Main()
{
String article = "An";
String noun = "apple";
String str1 = String.Format("{0} {1}", article, noun);
String str2 = Convert.ToString(str1);
Console.WriteLine("str1 is interned: {0}",
! (String.IsInterned(str1) == null));
Console.WriteLine("str1 and str2 are the same reference: {0}",
Object.ReferenceEquals(str1, str2));
}
}
// The example displays the following output:
// str1 is interned: False
// str1 and str2 are the same reference: True
open System
let article = "An"
let noun = "apple"
let str1 = $"{article} {noun}"
let str2 = Convert.ToString str1
printfn $"str1 is interned: {String.IsInterned str1 <> null}"
printfn $"str1 and str2 are the same reference: {Object.ReferenceEquals(str1, str2)}"
// The example displays the following output:
// str1 is interned: False
// str1 and str2 are the same reference: True
Module Example
Public Sub Main()
Dim article As String = "An"
Dim noun As String = "apple"
Dim str1 As String = String.Format("{0} {1}", article, noun)
Dim str2 As String = Convert.ToString(str1)
Console.WriteLine("str1 is interned: {0}",
Not String.IsInterned(str1) Is Nothing)
Console.WriteLine("str1 and str2 are the same reference: {0}",
Object.ReferenceEquals(str1, str2))
End Sub
End Module
' The example displays the following output:
' str1 is interned: False
' str1 and str2 are the same reference: True
適用於
ToString(UInt16)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
重要
此 API 不符合 CLS 規範。
將指定之 16 位元不帶正負號的整數值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::UInt16 value);
[System.CLSCompliant(false)]
public static string ToString (ushort value);
[<System.CLSCompliant(false)>]
static member ToString : uint16 -> string
Public Shared Function ToString (value As UShort) As String
參數
- value
- UInt16
要轉換之 16 位元不帶正負號的整數。
傳回
value
的字串表示。
- 屬性
範例
下列範例會將不帶正負號 16 位整數值的陣列中的每個元素,轉換為其相等的字串表示。
ushort[] numbers = { UInt16.MinValue, 103, 1045, UInt16.MaxValue };
string result;
foreach (ushort number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the UInt16 value 0 to the String value 0.
// Converted the UInt16 value 103 to the String value 103.
// Converted the UInt16 value 1045 to the String value 1045.
// Converted the UInt16 value 65535 to the String value 65535.
let numbers = [| UInt16.MinValue; 103us; 1045us; UInt16.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the UInt16 value 0 to the String value 0.
// Converted the UInt16 value 103 to the String value 103.
// Converted the UInt16 value 1045 to the String value 1045.
// Converted the UInt16 value 65535 to the String value 65535.
Dim numbers() As UShort = { UInt16.MinValue, 103, 1045, UInt16.MaxValue }
Dim result As String
For Each number As UShort In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the UInt16 value 0 to the String value 0.
' Converted the UInt16 value 103 to the String value 103.
' Converted the UInt16 value 1045 to the String value 1045.
' Converted the UInt16 value 65535 to the String value 65535.
備註
這個實作與 相同 UInt16.ToString()。
適用於
ToString(UInt32)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
重要
此 API 不符合 CLS 規範。
將指定之 32 位元不帶正負號的整數值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::UInt32 value);
[System.CLSCompliant(false)]
public static string ToString (uint value);
[<System.CLSCompliant(false)>]
static member ToString : uint32 -> string
Public Shared Function ToString (value As UInteger) As String
參數
- value
- UInt32
要轉換之 32 位元不帶正負號的整數。
傳回
value
的字串表示。
- 屬性
範例
下列範例會將不帶正負號整數陣列中的每個項目轉換成其相等的字串表示。
uint[] numbers = { UInt32.MinValue, 103, 1045, 119543, UInt32.MaxValue };
string result;
foreach (uint number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the UInt32 value 0 to the String value 0.
// Converted the UInt32 value 103 to the String value 103.
// Converted the UInt32 value 1045 to the String value 1045.
// Converted the UInt32 value 119543 to the String value 119543.
// Converted the UInt32 value 4294967295 to the String value 4294967295.
let numbers = [| UInt32.MinValue; 103u; 1045u; 119543u; UInt32.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the UInt32 value 0 to the String value 0.
// Converted the UInt32 value 103 to the String value 103.
// Converted the UInt32 value 1045 to the String value 1045.
// Converted the UInt32 value 119543 to the String value 119543.
// Converted the UInt32 value 4294967295 to the String value 4294967295.
Dim numbers() As UInteger = { UInt32.MinValue, 103, 1045, 119543, UInt32.MaxValue }
Dim result As String
For Each number As UInteger In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the UInt32 value 0 to the String value 0.
' Converted the UInt32 value 103 to the String value 103.
' Converted the UInt32 value 1045 to the String value 1045.
' Converted the UInt32 value 119543 to the String value 119543.
' Converted the UInt32 value 4294967295 to the String value 4294967295.
備註
這個實作與 相同 UInt32.ToString()。
適用於
ToString(UInt64)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
重要
此 API 不符合 CLS 規範。
將指定之 64 位元不帶正負號的整數值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(System::UInt64 value);
[System.CLSCompliant(false)]
public static string ToString (ulong value);
[<System.CLSCompliant(false)>]
static member ToString : uint64 -> string
Public Shared Function ToString (value As ULong) As String
參數
- value
- UInt64
要轉換之 64 位元不帶正負號的整數。
傳回
value
的字串表示。
- 屬性
範例
下列範例會將不帶正負號長整數陣列中的每個項目轉換為其相等字串表示。
ulong[] numbers = { UInt64.MinValue, 1031, 189045, UInt64.MaxValue };
string result;
foreach (ulong number in numbers)
{
result = Convert.ToString(number);
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
number.GetType().Name, number,
result.GetType().Name, result);
}
// The example displays the following output:
// Converted the UInt64 value 0 to the String value 0.
// Converted the UInt64 value 1031 to the String value 1031.
// Converted the UInt64 value 189045 to the String value 189045.
// Converted the UInt64 value 18446744073709551615 to the String value 18446744073709551615.
let numbers = [| UInt64.MinValue; 1031uL; 189045uL; UInt64.MaxValue |]
for number in numbers do
let result = Convert.ToString number
printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."
// The example displays the following output:
// Converted the UInt64 value 0 to the String value 0.
// Converted the UInt64 value 1031 to the String value 1031.
// Converted the UInt64 value 189045 to the String value 189045.
// Converted the UInt64 value 18446744073709551615 to the String value 18446744073709551615.
Dim numbers() As ULong = { UInt64.MinValue, 1031, 189045, UInt64.MaxValue }
Dim result As String
For Each number As ULong In numbers
result = Convert.ToString(number)
Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _
number.GetType().Name, number, _
result.GetType().Name, result)
Next
' The example displays the following output:
' Converted the UInt64 value 0 to the String value 0.
' Converted the UInt64 value 1031 to the String value 1031.
' Converted the UInt64 value 189045 to the String value 189045.
' Converted the UInt64 value 18446744073709551615 to the String value 18446744073709551615.
備註
這個實作與 相同 UInt64.ToString()。
適用於
ToString(Int64)
- 來源:
- Convert.cs
- 來源:
- Convert.cs
- 來源:
- Convert.cs
將指定之 64 位元帶正負號的整數值,轉換為它的相等字串表示。
public:
static System::String ^ ToString(long value);
public static string ToString (long value);
static member ToString : int64 -> string
Public Shared Function ToString (value As Long) As String
參數
- value
- Int64
要轉換的 64 位元帶正負號的整數。
傳回
value
的字串表示。
範例
下列範例會將長整數數位中的每個項目轉換成其相等的字串表示。
// Create a NumberFormatInfo object and set several of its
// properties that control default integer formatting.
System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo();
provider.NegativeSign = "minus ";
long[] values = { -200, 0, 1000 };
foreach (long value in values)
Console.WriteLine("{0,-6} --> {1,10}",
value, Convert.ToString(value, provider));
// The example displays the following output:
// -200 --> minus 200
// 0 --> 0
// 1000 --> 1000
// Create a NumberFormatInfo object and set several of its
// properties that control default integer formatting.
let provider = System.Globalization.NumberFormatInfo()
provider.NegativeSign <- "minus "
let values = [| -200; 0; 1000 |]
for value in values do
printfn $"{value,-6} --> {Convert.ToString(value, provider),10}"
// The example displays the following output:
// -200 --> minus 200
// 0 --> 0
// 1000 --> 1000
' Create a NumberFormatInfo object and set several of its
' properties that control default integer formatting.
Dim provider As New System.Globalization.NumberFormatInfo()
provider.NegativeSign = "minus "
Dim values() As Long = { -200, 0, 1000 }
For Each value As Long In values
Console.WriteLine("{0,-6} --> {1,10}", _
value, Convert.ToString(value, provider))
Next
' The example displays the following output:
' -200 --> minus 200
' 0 --> 0
' 1000 --> 1000
備註
這個實作與 相同 Int64.ToString()。